jQuery AJAX JSON数据类型转换

前端之家收集整理的这篇文章主要介绍了jQuery AJAX JSON数据类型转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
希望这个头衔不是太神秘.发生的事情是我有一个jQuery AJAX脚本,我试图用来访问远程服务器上的API,它返回一个 JSON响应.但是,API将 JSON作为MIME类型“text / html”(在响应头中)而不是“application / json”返回.很明显,我只需要将返回的内容类型从文本更改为JSON,以使AJAX调用正确地解释数据.

不幸的是,这种情况并非如此.我已经以多种不同的方式尝试过这种方式,但都失败了.最接近我得到这个API调用的工作是调试器告诉我“资源被解释为脚本但是使用MIME类型text / html传输”.并且AJAX调用错误输出我的调试消息以JSON格式转储jqXHR对象,它告诉我:{“readyState”:4,“status”:200,“statusText”:“parsererror”}

这是我的代码的一个例子(虽然我已经多次改变代码,但是我试图让它工作,但这个版本似乎最接近正确):

$.ajax({
    type: 'GET',url: 'http://username:api-key@www.kanbanpad.com/api/v1/projects.json',contentType: 'application/json',dataType: 'jsonp',converters: {
        'jsonp': jQuery.parseJSON,},success: function(data) {
        alert(data);
    },error: function(jqXHR,textStatus,errorThrown) {
        console.log(JSON.stringify(jqXHR));
        console.log(textStatus+': '+errorThrown);
    }
});

如果有人能够弄清楚我需要采取哪些不同的方式来完成这项工作,我将非常感激.

值得注意的是,如果您将API URL复制/粘贴到浏览器地址栏并按下go,它会使用正确的响应头(“application / json”)提供正确的JSON响应

解决方法

因此,除非Kanbanpad更新其API,否则无法使用JS直接访问它.您将不得不使用PHP(或其他)来处理请求.

它的工作原理同样如此,它只需要一个额外的步骤.

适合那些正在寻找解决方案的人.

猜你在找的jQuery相关文章