2011-11-20 102 views
0

我在這裏發佈我的代碼。(我加了jQuery到我的網頁)如何使用ajax跨域?

var dataString ='username='+ username + '&password=' + password; 
//alert (dataString);return false; 

$.ajax({ 
     type: "POST", 
     url: "http://hisencha.sinaapp.com/login.php", 
     data: dataString, 
     success: function(data) { 

      if(data=='success'){ 
      window.location.href='list.html'; 
      } 
      else{ 
      alert(data); 
      }; 
     } 
     }); 

以上的JavaScript的一部分

這裏是php(演示)

<?php 
if ($_POST['username']=='aaa' && $_POST['password']=='aaa') 
{ 
    echo 'success'; 
} 
else 
{ 
    echo 'error'; 
} 
?> 

我能現在做什麼?以及如何解決關於跨域的錯誤。

謝謝謝謝你!

回答

1

是的,你可以使用JSONP來做到這一點。下面是一些示例的jQuery:

$.ajax({ 
    type: "POST", 
    url: "http://hisencha.sinaapp.com/login.php?callback=?", 
    data: dataString, 
     dataType: 'JSONP', 
    success: function(data) { 

     if(data=='success'){ 
     window.location.href='list.html'; 
     } 
     else{ 
     alert(data); 
     }; 
    } 
    }); 

和PHP:

<?php 
$response = array(
    'something' => 'something' 
); 
echo $_GET[['callback'].'('.json_encode($response).')'; 
?> 
+0

這個答案對我很有幫助。非常感謝。讓我更瞭解php! –

0

無法跨域使用ajax。它出於安全原因被阻止。

+0

有JSONP ... – knittl

+1

有辦法,如果其他領域簡單地設置一個頭,以允許它... HTTPS://developer.mozilla。 org/En/HTTP_access_control – Esailija

0

你可以用JSONP來做到這一點。一個example