これは古い質問であることは知っていますが、私自身もvalidator.w3.orgへのAJAXリクエストを作成しようとしており、まったく同じ問題に遭遇し、このSOの質問に遭遇しました。
しかし、私は解決策を見つけました。
人々がすでに述べたように、ここでの主な問題は、サーバーが有効な CORS ヘッダーを発行する必要があることです。
Access-Control-Allow-Origin: *
Fiddler を使用して、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