file_get_contents(“php:// input”)后ajax后空
我很犹豫要问,但我还没有找到任何解决方案。在ajax函数中发送php文件中的数据之后,当我尝试捕获php文件中的数据时,数据丢失。但是,昨天我发现了一个没有问题的类似功能。 这是AJAX部分:file_get_contents(“php:// input”)后ajax后空
$http({ url: 'PDO/Companion.php',
data: {
Companion : Companion,
Companion : statut
},
method: 'POST',
headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
}).then(function (response) {// on success
$scope.name=undefined;
$http.get('js/controller/upPartenaire.php').success(function(data) {
$scope.result = data;
console.log(data);
}), function(msg){
console.log("ça")
alert(msg);
};
,而PHP的一部分:
$postdata = file_get_contents("php://input"); $request = json_decode($postdata);
echo json_encode($request);
在项目中,我使用PHP只针对AJAX部分做SQL queryI也赶上与$ _ POST,但没有数据
回答:
您需要设置的内容类型,以JSON和使JSON字符串化像
$http({ url: 'PDO/Companion.php',
data: JSON.stringify({
Companion : Companion,
Companion : statut
}),
method: 'POST',
headers : {'Content-Type':'application/json; charset=utf-8'}
}).then(function (response) {// on success
$scope.name=undefined;
$http.get('js/controller/upPartenaire.php').success(function(data) {
$scope.result = data;
console.log(data);
}), function(msg){
console.log("ça")
alert(msg);
};
回答:
这应该对你有所帮助。考虑更改php代码:
header("Content-Type: application/json"); parse_str(file_get_contents('php://input', false , null, -1 ,
$_SERVER['CONTENT_LENGTH']), $postdata);
echo json_encode($postdata);
以上是 file_get_contents(“php:// input”)后ajax后空 的全部内容, 来源链接: utcz.com/qa/265577.html