我知道这是一个老问题,但我自己也一直在尝试创建AJAX请求到validator.w3.org以及碰到同样的问题,并偶然发现这个问题。
但是,我确实找到了解决办法;
由于人们已经说过,这里的主要问题是,服务器必须出具有效的CORS头,即
访问控制允许来源:*
我使用提琴手检查响应头来自validator.w3.org,果然,标题没有设置。但是,他们在validator.w3.org/nu/上也有另一个工具。
下面是一个例子:http://codepen.io/DDN-Shep/pen/ogdGgO/
$('form').on('submit', function(e) {
e.preventDefault();
var data = new FormData(this);
$.ajax({
url: 'http://validator.w3.org/nu/', // Trailing '/' is important or you get a 301 HTTP response status code
type: 'POST',
data: data,
processData: false, // Required for jQuery & FormData
contentType: false, // Set by FormData, required by the server
success: function(data, status, xhr) { /* TODO */ },
error: function(xhr, status, error) { /* TODO */ },
complete: function(xhr, status) { /* TODO */ }
});
});
你若遇上不确定服务器是否允许CORS,你可以使用这个非常有用的在线工具;
test-cors.org = http://client.cors-api.appspot.com/client
我将等待您的示例:) – 2012-08-17 00:28:51
要使用JSONP,端点还必须实现它。 – Luis 2012-08-17 00:30:56
但正如你所看到的,它是W3服务器,我无法在服务器中实现JSONP。他们是否在他们的服务器上实现了JSONP? – 2012-08-17 00:41:29