Javascript 具有文本文件和硬编码回调的跨域JSONP

Javascript 具有文本文件和硬编码回调的跨域JSONP,javascript,jquery,file,callback,jsonp,Javascript,Jquery,File,Callback,Jsonp,我知道这是一个流行的问题,人们通过在服务器端编写代理来解决它。但我想避免它,我有一个带有硬编码回调的文件jsonResponse(): 我想用JQuery.ajax()从另一个域获取它: 我得到一个错误: XMLHttpRequest cannot load http://first.domain/filename.jsonp. Origin http://second.domain is not allowed by Access-Control-Allow-Origin. 有没有什么办法

我知道这是一个流行的问题,人们通过在服务器端编写代理来解决它。但我想避免它,我有一个带有硬编码回调的文件
jsonResponse()

我想用
JQuery.ajax()从另一个域获取它:

我得到一个错误:

XMLHttpRequest cannot load http://first.domain/filename.jsonp. 
Origin http://second.domain is not allowed by Access-Control-Allow-Origin.

有没有什么办法可以做到我想要的?我真的需要使用代理吗?如果这是真的,那么为什么呢?

您的计算错误了
$.ajax

您需要传递
数据类型:“jsonp”
;它不支持多个值


请注意,由于您使用的是固定回调,因此您将无法同时发出多个请求,否则它们将窃取彼此的回调。

您将错误计算
$。ajax

您需要传递
数据类型:“jsonp”
;它不支持多个值


请注意,由于您使用的是固定回调,您将无法发出多个并发请求,否则它们将窃取彼此的回调。

我相信您必须在
$.ajax()
选项中进行设置。我相信您必须在
$.ajax()中进行设置
选项。在
数据类型上调用
文本
似乎也有点多余。谢谢!这给了我警告
资源被解释为脚本,但使用MIME类型text/plain传输。
因此我是舒尔,我必须使用
text jsonp
将其转换为文档中的xml:。您是指来自单个浏览器的多个并发请求,对吗?@ciembor:这意味着服务器需要发送
text/javascript
,但不是。JSONP只能通过
标记工作,这些标记包含脚本。我的意思是从单个JS上下文(浏览器框架)中。它甚至可以使用此警告,所以我不知道是否需要更正它。如果是。。。我认为使用.htaccess应该是可行的(但我不是舒尔)。在
数据类型上调用
text
似乎也有点多余。谢谢!这给了我警告
资源被解释为脚本,但使用MIME类型text/plain传输。
因此我是舒尔,我必须使用
text jsonp
将其转换为文档中的xml:。您是指来自单个浏览器的多个并发请求,对吗?@ciembor:这意味着服务器需要发送
text/javascript
,但不是。JSONP只能通过
标记工作,这些标记包含脚本。我的意思是从单个JS上下文(浏览器框架)中。它甚至可以使用此警告,所以我不知道是否需要更正它。如果是。。。我认为使用.htaccess应该是可行的(但我不是舒尔)。
$.ajax({
  type: "GET",
  url: URL + filename, 
  dataType: "text jsonp",
  jsonpCallback: "jsonpResponse",
  success: function(data) {
    // wrapping data
  }
});
XMLHttpRequest cannot load http://first.domain/filename.jsonp. 
Origin http://second.domain is not allowed by Access-Control-Allow-Origin.