2011-11-20 107 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