c# - 如何解决 jsonp 中未捕获的语法错误

标签 c# javascript ajax jquery

我正在使用 jquery ajax 访问跨域 api,但无法实现它。我在控制台中收到错误“未捕获的语法错误:意外的标记 <”,如何解决此问题。

代码:

$.ajax({ 
url: "http://..............", 
type:"GET", 
dataType: 'jsonp', 
crossDomain: true, 
contentType:"application/javascript", 
success: function (data) { 
    alert(data);
}, 
error: function (errorMEssage, Errtext) { 
    alert(Errtext);
} 
});

错误:

uncaught syntaxerror : unexpected token <

最佳答案

您无法使用 JSONP 对返回 XML 的服务器进行跨域 AJAX 调用。如果您希望能够进行跨域 AJAX 调用,您有两种可能性:

  • 使用JSONP -> 你的服务器需要支持它。
  • 使用CORS -> 您的服务器客户端浏览器不需要支持它。

如果您的服务器支持 CORS,您的请求可能如下所示:

$.ajax({ 
    url: "http://..............", 
    type:"GET", 
    crossDomain: true, 
    success: function (data) { 
        alert(data);
    }, 
    error: function (errorMEssage, Errtext) { 
        alert(Errtext);
    } 
});

关于c# - 如何解决 jsonp 中未捕获的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19420603/

相关文章:

c# - 如何扩展 LINQ-to-SQL 类而不必在每次生成代码时都进行更改?

c# - 如何从代码注册 .ocx 文件

C# 列表定义,括号与花括号

javascript - 在 FTP 上实时缩小 CSS 和 JS

c# - 应禁用单个页面的表单例份验证

javascript - 无法执行对 C# 方法的 Ajax 调用

C# 异步套接字客户端阻塞主界面线程

Javascript 测验 - 当用户得到结果时,显示一个弹出窗口

javascript - 将类绑定(bind)到 ember 中的 div

javascript - 在 Javascript 中合并对象以实现无限加载 Ajax 插件