2015-05-07 96 views
-1

這裏工作的AJAX腳本的數據類型是我的代碼:不中跨域請求

$.ajax({ 
    method: "POST", 
    url: "http://phpseverdomain/dynamic.php", 
    dataType: "script", 
    data: { type: "2" } 
}) 

PHP代碼:

<?php 
    header("Access-Control-Allow-Origin: *"); 
    header("Access-Control-Allow-Methods: PUT, GET, POST"); 
    header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); 

echo 'alert(1234)'; 
?> 

這AJAX當我從不同的域中運行不起作用。

+1

你在JavaScript控制檯得到一個錯誤? – Barmar

+1

請記住,您只需輸出OPTIONS預飛行請求的CORS標頭。它不需要在POST請求中。 – Halcyon

+0

檢查一些其他選項:http://jquery-howto.blogspot.com/2013/09/jquery-cross-domain-ajax-request.html – Twisty

回答

0

每當你正在嘗試做一個AJAX請求到不同的領域,這是很好的使用JSONP數據類型和檢索結果作爲JSON

$.ajax({ 
    method: "POST", 
    url: "http://phpseverdomain/dynamic.php", 
    dataType: "jsonp",// set Datatype to jsonp 
    data: { type: "2" } 
}) 
+0

我想在ajax加載時運行腳本,所以我使用腳本作爲dtatatype 。這不適用於跨域請求。 –