【问题标题】:Don't know what $.post is returning不知道 $.post 返回的是什么
【发布时间】:2011-10-14 14:12:20
【问题描述】:

编辑

我正在获取对象{"readyState":1}。这是为什么?如何从 $.post(即对象 {"result":"ERROR"})返回结果。


使用 jEditable。 (注意:我认为这是一个简单的 jQuery 问题,而不是特定的插件问题。)

我想看看数据库中是否已经存在唯一的标记符号。因此,我在 onsubmit 上执行 $.post 并返回一个 JSON 对象 {"result":"ERROR"}(我使用 firebug 知道这一点)。

我的问题是我无法处理返回的数据。当我执行alert(returned) 时,我只会得到Object object 响应,而不是“测试”。

关于问题所在或如何找出问题所在的任何提示?

代码

//Edit Tag Symbol
$(".edittagsymbol").editable('myURL',{
    onsubmit : function(settings, td){
        var id =  $(this).attr('id');
        var input = $(td).find('input');
        var original = input.val();
        var returned = $.post('myURL',{"text": original}, 
                                function(data) {
                                    if (data.result == 'ERROR'){
                                        return data.result;
                                    }
                                },
                                "json"
                            );
        alert(returned);
    }
});

【问题讨论】:

    标签: ajax json jquery jeditable


    【解决方案1】:

    $.post 不返回从传递函数返回的值。它会返回一个jqXHR object

    如果你想对你的数据做一些事情,你应该使用回调函数。

    一个有用的例子是在接受的答案here

    【讨论】:

      【解决方案2】:

      使用alert(JSON.stringify(returned)) 查看错误所在。因为您期望来自服务器的 JSON

      【讨论】:

      • 啊,这就是我要找的功能。
      • 我正在获取对象{"readyState":1}。这是为什么?我可以返回对象{"result":"ERROR"}
      • 这意味着你在执行操作时出错了你应该得到“readyState”:2我猜。但我不知道代码的服务器端可能是什么问题..
      猜你喜欢
      • 1970-01-01
      • 2023-03-20
      • 2020-10-10
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      • 1970-01-01
      相关资源
      最近更新 更多