Ajax post请求作为空对象接收

时间:2015-07-01 17:15:49

标签: php jquery ajax post laravel-4

我发送了一个ajax post请求,并获得了响应,但它是空的。是否有一些细节需要调整?

我们的想法是发送使用提交按钮提交的文本。但仅仅是为了测试,我已经将数据指定为" url":" helllo"。

$(document).ready(function() {

    $('form.ajax').on('submit', function(e) {
        e.preventDefault();

    var submitted = $(this),
        destination = submitted.attr('action'),
        method = submitted.attr('method'),

        url_send = {
          "url": "helllo"
        };

        $.ajax({
            type: method,
            contentType : 'application/json',
            url: destination,
            data: url_send,
            success: function(response){
                console.log(response);

            },
            error: function(){
                console.log("there was an error");
            }
        });

"方法" (帖子)和"目的地"在表格中指定。所以" url_send"是发送的对象。这应该在另一端检索为{" url":" helllo"},还是嵌套在对象中?

在使用laravel的PHP中,我有一个控制器函数,其中收到请求:

$data = json_decode(file_get_contents("php://input"));

如果$ data为空,则返回:

return Response::json($data);

这给了我

Object {  }

1 个答案:

答案 0 :(得分:3)

您正在传递data一个对象,因此它将被jQuery urlencoded。

urlencoded数据不是JSON,因此尝试将其解析为JSON将失败。

您需要实际发送JSON。

data: JSON.stringify(url_send)