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

回到顶部