意外的令牌<读取xml文件

Raf*_*eus 2 javascript ajax jquery json jsonp

当我进行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');
      }
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

电话给出了这个回复:

<?xml version="1.0" encoding="utf-8"?> 
<int xmlns="http://tempuri.org/">1</int>
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

Uncaught SyntaxError: Unexpected token <
Run Code Online (Sandbox Code Playgroud)

URL指向另一个站点,因此它是跨域调用.

我只想阅读"1"并给出成功警报.

希望您能够帮助我.

谢谢

Que*_*tin 5

您的JavaScript表示使用JSONP模式发出Ajax请求(这涉及将<script src="something">元素插入到文档中而不是使用XMLHttpRequest).

您获得的响应是​​XML文档,而不是遵循JSONP模式的JavaScript程序,它类似于:

value_of_query_string_callback_argument({ "int": 1 });
Run Code Online (Sandbox Code Playgroud)

您收到错误是因为浏览器正在尝试将XML作为JavaScript执行(事实并非如此).

将响应更改为JSONP,或使用其他方法进行跨域请求.