我尝试使用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'));
}
输出'null'
public function post()
{
DD(Input::all());
}
这会输出一个空数组
任何人都可以看到我错过的东西。
我已禁用Csrf保护以进行测试。
答案 0 :(得分:2)
问题很可能就是将其作为RAW XML POST发布,因此Laravel不会将其提取(对此而言$_POST
都不是)。用它来进行RAW POST。
$xml = file_get_contents("php://input");
答案 1 :(得分:0)
尝试将数据作为XML字符串发送,并转储$ _POST变量以查看是否发生了某些事情。
data: {xml: '<test></test>'}
变化:
data: '<test></test>'
<强>已更新强>