我知道這是一個老問題,但我自己也一直在嘗試創建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