2013-06-26 80 views
0

我瘋了,我不知道爲什麼,但我非常簡單的Jquery帖子無法正常工作。 我有index.php和temp.php如下。我仍然收到「未返回正常」,不知道爲什麼,因爲如果我在if條件之前提醒它,數據返回「ok」。JQuery後無法正常工作

的index.php:

<? session_start(); ?> 
<!DOCTYPE HTML> 
<meta charset="windows-1250"> 

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery- ui.css" rel="stylesheet" type="text/css"/> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js">    </script> 
<link rel="stylesheet" type="text/css" href="style.css" /> 

<script> 

function do_post(item) 
{  
    $.post("temp.php", {par:item}, function(data,status){ 
    //alert("Data: " + data + "\nStatus: " + status); 
    if(data=="ok") 
    { 
    alert('RETURNED OK'); 
    //location.reload(); 
    } 
    else 
    { 
    alert('NOT RETURNED OK'); 
    } 
}); 
} 

</script> 

<body> 
<a href="#" onclick="do_post('whatever');">click</a> 
</body> 
</html> 

temp.php: 
<? echo "ok"; ?> 

在此先感謝您的任何想法。

+1

'data'可能包含不可見的字符。 –

+0

那麼他說如果他運行警報(數據)他回來'好'。 – Rell

+3

@EvanMulawski很可能是正確的。試試這個:在你的if(data)語句之前,添加'console.log(typeof data,data.length)'並告訴我們控制檯返回的內容。 –

回答

0

我建議您在使用適當的響應頭的內容類型的響應使用JSON,或者明確地告訴jQuery的。員額你所期望的回:

$.post("temp.php", {par:item}, function(){}, 'text'); 

如果你只是在你的PHP腳本echo'ing ,你並沒有在你的頭文件中指定一個內容類型,這可能不會被jQuery正確解析,因爲它必須猜測它的工作原理。也尋找換行符。

+0

謝謝你們,你是對的,有回車和換行字符。它應該發生在我身上:-(。我不知道它來自哪裏(可能是不同的IDE和webftp)。但我使用修剪功能,現在它的作品:)再次感謝 –

0

我已經在我的本地主機上運行代碼,它工作正常。然而,php的開放標籤並沒有被我的服務器解釋,我不得不向他們添加php這個詞。