[英]XML sent using ajax POST not being received server side (Laravel 5)
我正在尝试使用 ajax POST 请求发送 XML,但服务器端没有收到任何数据。
我使用 jQuery 发送数据:
<script>
$('.buttonXML').click(function(){
$.ajax({
url: "/test142"
, type: "POST"
, contentType: "text/xml"
, processData: false
, data: {xml: '<test></test>'}
, success: function(){
console.log('done');
}
});
});
</script>
我的php没有收到任何数据:
public function post()
{
DD(Input::get('xml'));
}
这输出“空”
public function post()
{
DD(Input::all());
}
这将输出一个空数组
谁能看到我错过了什么。
出于测试目的,我已禁用 Csrf 保护。
问题很可能是它被作为 RAW XML POST 发布,所以 Laravel 没有选择它(这也不是$_POST
)。 使用它来获取 RAW POST。
$xml = file_get_contents("php://input");
尝试将数据作为 XML 字符串发送,并转储 $_POST 变量以查看是否发生了某些事情。
data: {xml: '<test></test>'}
改变:
data: '<test></test>'
更新
找到有用的答案: https : //stackoverflow.com/a/3099668/4015178
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.