我在进行 ajax 调用时遇到问题。
我的代码是:
$('#regLink').click(function(event){
event.preventDefault();
urlLink = $('#regLink').attr('name') + $('input[name="email"]').val();
$.ajax({
type: 'GET',
dataType: 'jsonp',
jsonpCallback: 'callback',
url: urlLink,
success: function (xml) {
var code = $(xml).find('int').text();
if(code == '1') {
console.log('email gravado com sucesso');
}
else {
console.log('algo correu mal');
}
}
});
});
调用给出以下响应:
<?xml version="1.0" encoding="utf-8"?>
<int xmlns="http://tempuri.org/">1</int>
它给了我这个错误:
Uncaught SyntaxError: Unexpected token <
该 URL 指向另一个站点,因此它是跨域调用。
我只想读取“1”并发出成功警报。
希望你能帮助我。
谢谢
最佳答案
您的 JavaScript 表示使用 JSONP 模式发出 Ajax 请求(其中涉及将 <script src="something">
元素插入到文档中,而不是使用 XMLHttpRequest)。
您收到的响应是一个 XML 文档,而不是遵循 JSONP 模式的 JavaScript 程序,如下所示:
value_of_query_string_callback_argument({ "int": 1 });
您收到错误是因为浏览器尝试将 XML 作为 JavaScript 执行(但事实并非如此)。
将响应更改为 JSONP,或使用 some other method to make a cross-domain request .
关于javascript - 意外的标记 < 读取 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19934187/