【问题标题】:Passing JSON data to server via query string in Google Chrome通过 Google Chrome 中的查询字符串将 JSON 数据传递给服务器
【发布时间】:2014-02-02 19:29:28
【问题描述】:

我正在使用 $.getJSON 调用将 JSON 数据从移动客户端(如平板电脑)传递到远程跨域服务器上的 ashx 处理程序。请注意,$.getJSON 调用在架构中是强制性的。

完整的代码如下

$.getJSON('http://www.domain.com/Proxy.ashx?json=' + JSON.stringify(json) + '&callback=?', function (result) {
....                
        });

Chrome 对查询字符串大小的限制似乎是 65535 个字符。这仍然是真的,对于移动浏览器(android)也是如此吗?这似乎是相当多的数据,尤其是如果我在调用之前压缩 JSON 数据,但最终可能会出现问题。

有什么建议吗?谢谢

【问题讨论】:

    标签: javascript android json google-chrome


    【解决方案1】:

    65K 适合 Android 和 Chrome 上的 Chrome,但 您真的不应该通过 GET 请求传递这么多数据。这是一种非常糟糕的做法。

    改为使用 POST。如果您拥有请求将发送到的域,则可以将其设置为使用CORS(跨域资源共享),这将允许您跨域发出 POST 请求。如果您不拥有该域,则必须通过您的服务器或 http://www.corsproxy.com/ 之类的服务器代理请求

    【讨论】:

    • 嗨 Kinlan - 这正是我在阅读您的答案之前所做的。我也认为这是一种方法,比使用 JSONP 处理包含大量发布数据的跨域请求要好得多。感谢您的宝贵时间。
    猜你喜欢
    • 2012-10-23
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2012-08-28
    相关资源
    最近更新 更多