【问题标题】:Why does my JSONP request give me Uncaught SyntaxError: Unexpected token < (less than)?为什么我的 JSONP 请求给我 Uncaught SyntaxError: Unexpected token < (less than)?
【发布时间】:2015-10-06 19:28:23
【问题描述】:

下面是我的xml文件

applica.luminoustec.net/file.xml

我需要从我的本地主机使用这个 ajax 调用来访问,这就是跨域调用

我的 AJAX 代码

<script type="text/javascript">
        $(document).ready(function () {

            $.ajax({
                url: "http://applica.luminoustec.net/file.xml",
                dataType: "jsonp",
                success: function (data) {
                    console.log(data);
                }
            });
        });
    </script>

以下是错误

Uncaught SyntaxError: Unexpected token &lt;

谁能告诉我哪里错了

我看到this link 和this link

但没有成功,请帮帮我

【问题讨论】:

  • 您必须下定决心——XML 还是 JSONP?

标签: javascript jquery ajax


【解决方案1】:

http://applica.luminoustec.net/file.xml 是 XML。

dataType: "jsonp", 告诉 jQuery 将其解析为 JSONP。

XML 不是 JSONP。因此,它会出错。

要么:

  1. 将 URL 更改为返回 JSONP 的 URL 或
  2. 删除dataType 行并让jQuery 将其检测为XML(注意:这可能需要您在服务器上设置CORS 支持)。

【讨论】:

  • 我尝试使用 2 选项,现在错误是 XMLHttpRequest 无法加载 applica.luminoustec.net/file.xml。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问 Origin 'localhost:22791'。
  • @jot 是的,这是一个 CORS 错误。您必须设置 CORS 才能执行 #2。
  • 如何管理任何想法或有用的链接@GeorgeStocker
  • @Jot 在各种服务器环境中设置 CORS 的说明 enable-cors.org/server.html ...我想你会想要 enable-cors.org/server_aspnet.html
  • @Jot — 答案中有一个链接。
猜你喜欢
  • 1970-01-01
  • 2012-02-23
  • 1970-01-01
  • 2015-03-23
  • 2018-06-18
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多