我将数据从我的视图发送到控制器
$.ajax({
type: "POST",
url: "/registerAgency",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
success: function(responseData, textStatus, jqXHR) {
alert("data saved")
},
error: function(jqXHR, textStatus, errorThrown) {
alert("error");
}
})
});
我不明白为什么我的请求不使用内容类型 application / json 但使用 application / x-www-form-urlencoded
在这个论坛上有这样的问题,但我真的没有任何想法如何解决这种情况
答案 0 :(得分:0)
我对这个问题有点好奇,因为我通常不会使用contentType: 'application/json'
。它的处理方式与使用$ _POST,$ _GET或$ _REQUEST完全不同。当然,它是 json 内容类型。
<强> jquery的强>
var data = { "agencyName":"sadf", "description":"asdf", "phoneNumber":"1111111111121", "webSite":"", "address":{ "country":"asdfasdf", "region":"asdf", "postalCode":"23423", "locality":"asdfasdf", "additionalInfo":"asdfasd" } };
$.ajax({
type: "POST",
url: ".../registerAgency.php",
data: JSON.stringify( data ),
contentType: 'application/json; charset=utf-8',
success: function(responseData, textStatus, jqXHR) {
alert(responseData);
},
error: function(jqXHR, textStatus, errorThrown) {
alert("error");
}
});
<强> PHP /服务器强>
<?php
// parameters are not accessible via POST, GET, nor REQUEST
$res = json_decode( file_get_contents('php://input') );
var_dump($res);
?>
参考:Ajax call with contentType: 'application/json' not working