带有XML响应的AJAX JQuery请求

时间:2014-01-21 08:19:58

标签: ajax xml jquery

我对来自外部域的web服务进行了AJAX调用,并且我正在尝试管理XML响应,AJAX调用有效,因为它是在Adobe Connect平台上登录的目标并且可以正常工作。但它在浏览器控制台上显示以下错误:

SyntaxError: syntax error
<?xml version="1.0" encoding="utf-8"?>

这是AJAX调用的代码:

$.ajax({ 
type : "GET", 
    url : URL, 
    dataType : "jsonp",
    success : function(service_data) { 
    console.log("OK");
    console.log(service_data);
    },
    error : function(msg) {
    console.log("ERROR");
    console.log(JSON.stringify(msg));
    }
});

万分感谢。

3 个答案:

答案 0 :(得分:3)

你得到的错误是因为你说你期待一个jsonp并且提供了一个xml。

$.ajax({ 
    type : "GET", 
    url : URL, 
    dataType : "xml",
    success : function(service_data) { 
        console.log("OK");
        console.log(service_data);
    },
    error : function(msg) {
        console.log("ERROR");
        console.log(JSON.stringify(msg));
    }
});

我要更改dataType

答案 1 :(得分:3)

一位同事告诉我两种可能的解决方案:

1 - CORS

2 - 代理脚本。

我会告诉你它是否有效,我会尝试第一个。

答案 2 :(得分:1)

您已将数据类型指定为“jsonp”,但您将获得xml作为结果。尝试将数据类型更改为“xml”。更多信息可以在http://api.jquery.com/jquery.ajax/找到,但相关位是:

  

“xml”:返回可以通过jQuery处理的XML文档。

  

“jsonp”:使用JSONP加载JSON块。添加额外的“?callback =?”到URL的末尾以指定回调。通过将查询字符串参数“_ = [TIMESTAMP]”附加到URL来禁用缓存,除非缓存选项设置为true。