javascript - 意外的标记 < 读取 xml 文件

标签 javascript jquery ajax 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');
      }
    }
  });
});

调用给出以下响应:

<?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/

相关文章:

javascript - 一次向下滚动并再次向上滚动后灯箱顶部边距变化

php - 如何将我的 json 数组发送到 mysql 数据库中的几行

javascript - getMonth 返回不正确的值

javascript - 如何从 TypeScript 对象获取数据?

javascript - 加密 JS : TripleDES not encrypting properly

c# - jquery+AJAX+c#导致页面加载

javascript - 将图像添加到 html 链接属性

javascript - TypeError : this. props.nextStep 不是函数 React 错误

jquery - 使用 jquery 在按钮单击时上下滚动 div

javascript - 带有ajax加载多页的JQuery mobile + Phonegap