【问题标题】:Ajax Post using iecors plugin使用 iecors 插件的 Ajax Post
【发布时间】:2012-11-09 20:58:32
【问题描述】:

为了解决 ie8 + 9 中的跨域问题,我开始编写自己的 XDomainRequest 包装器。直到高兴,我在github上发现了iecors jQuery插件 https://github.com/dkastner/jquery.iecors。它通过修改 jQuery 的 AJAX 事务来工作。我不必修改过多的 getJSON AJAX 电话,这令人欣慰地松了一口气。

但是,当我使用$.post 方法时,响应数据作为字符串返回。这会导致问题,因为在整个应用程序中,函数都设置为处理 json 对象。

我已经阅读了很多关于这方面的内容,并且我知道有很多常见的陷阱。但除了帖子回复之外,一切似乎都有效。我可以预处理后响应数据以使其成为对象吗?

【问题讨论】:

    标签: jquery ajax internet-explorer-8 xdr


    【解决方案1】:

    jQuery 通常会根据响应头改变返回的数据类型。您返回(希望是有效的)JSON 字符串的脚本应该首先发出 Content-Type: application/json 标头。当然,如果返回的所有内容都是 JSON,你总是可以使用

    $.ajaxSetup({'dataType': 'json'})
    

    【讨论】:

    • 我在 $.ajaxPrefilter 中设置它有多奇怪,就像这样 options.dataType = "json";但没有效果。在设置中工作正常!
    • @CrimsonChin 这不是预过滤器的用途:api.jquery.com/jQuery.ajaxPrefilter
    猜你喜欢
    • 2013-01-11
    • 2010-11-12
    • 2015-01-06
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    相关资源
    最近更新 更多