2013-06-24 123 views
6

我正在製作一個網站,其中後端我在django和前端使用php。問題是,我想提出一個Ajax調用從php (localhost)django (localhost:8000每當我試圖所以它給MES以下錯誤當試圖發送數據到本地主機時,ajax調用不工作:8000從本地主機

XMLHttpRequest cannot load http://localhost:8000/project/login/uid=bimt;token=KAMWMS151UWP67Q. Origin http://localhost is not allowed by Access-Control-Allow-Origin. 

Ajax代碼是

$(document).on('click', '.login', function(event) { 

     var username = $('#username').val(); 
     var token = $('#token').val(); 
     $.ajax({ 
      type: "POST", 
      url: "http://localhost:8000/project/login/uid=" + username + ";token=" + token, 
      success: function (html) { 
      alert(html); 
      } 
     }); 


}); 

我怎樣才能使一個Ajax調用從我的前端到本地主機上的django後端:8000

回答

0

AJAX,默認情況下,不能進行跨域請求。

你應該參考這個link

1

1)php不會發出ajax請求。 PHP在服務器端執行; javascript在客戶端執行,並且是向服務器發送ajax請求的js。

2)js不允許您向其他主機發送ajax請求,而不是從當前頁面獲取的主機發出ajax請求。

-1

嘗試,是這樣的:

$('#yourClickButtonId').click(function(){ 
    $.ajax({ 
     type: 'POST', 
     url: 'project/login?uid='+$('#usename')+'&token='+$('#token'), 
     success: function(data){ 
      alert(data); 
     } 
    }); 
}); 

你應該只使用相對路徑。

0

我在本地主機的位置交換了我的內部IP(192.168.1.x),並且能夠在其上調用XMLHttpRequest。這應該做到這一點,而不會與交叉來源政策混淆。