繁体   English   中英

使用 ajax POST 发送的 XML 未被服务器端接收(Laravel 5)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM