【问题标题】:Chrome Extension $.post request Callback failsChrome 扩展 $.post 请求回调失败
【发布时间】:2013-11-15 01:56:53
【问题描述】:

我有一个 Google Chrome 扩展程序。在我的 Content.js 中,我正在执行一个运行良好的 POST 请求,但在返回 json 数据时我没有得到回调响应。

这是我的电话

$.post(("http://localhost:4089/i3cloud.com/ilinklogemailnoimap.ashx?opensocial_owner_id=" + ownerId),
        '{"data":"' + dataString + '"}' ,
        function () {
            alert('response');
            },
        "json");

它调用一个 ashx 处理程序,该处理程序从处理程序返回以下响应。

context.Response.Write("{'user_exists' : true, 'result' : 'Success'}")

我没有收到回调...

如果响应为空,我会收到响应并调用我的警报。

context.Response.Write("")

我的 JSON 响应格式是否正确?

我正在使用 jquery-2.0.2

感谢您的帮助。

【问题讨论】:

  • 我不确定这是否会导致问题,但 JSON 键和字符串值应该是双引号。因此,尝试将响应更改为:'{"user_exists" : true, "result" : "Success"}'
  • 感谢您的回复。我最终得到了以下工作 "[{\"user_exists\":\"true\",\"result\":\"Success\"}]"
  • 好的,请记住(就 JSON 而言)"true"true 是不同的值(前者是 'string' 类型,而后者是 '布尔')。
  • 好点 - 谢谢 [{\"user_exists\":true,\"result\":\"Success\"}] 将是正确的字符串。

标签: jquery json google-chrome-extension


【解决方案1】:

我设法让它与以下内容一起使用:

"[{\"user_exists\":\"true\",\"result\":\"Success\"}]"

我使用以下内容生成了 json:

 JavaScriptSerializer serializer = new JavaScriptSerializer();
    responseList = new List<responseItem>();
    responseItem ri = new responseItem();
    ri.user_exists = "true";
    ri.result = "Success";
    responseList.Add(ri);
    context.Response.Write(serializer.Serialize(responseList));

【讨论】:

    猜你喜欢
    • 2013-06-05
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多