2012-11-24 32 views
1

代碼:阿賈克斯獲得響應不確定的和未捕獲的ReferenceError

query = "http://localhost:8080/working_login.php?name=" + name + "&password=" + pass; 
console.log(query); 

    $.ajax({ 
    type: "GET", 
    url: query, 
dataType: "script", 
success: function(data){ 
      console.log(data); 
      console.log("success"); 
     }, 
error:function (msg) { 
      console.log("error on page"); 
     }   
    }); 

我收到未定義的數據,因爲我回國在PHP做服務器端「valid_user」,得到錯誤。

Uncaught ReferenceError: valid_user is not defined 
(anonymous function) 

PHP服務器端代碼:

$sql = "SELECT id FROM users WHERE name ='$name' AND password = '$password';"; 
$result = mysql_query($sql) or die('Can not Register user' . $sql); 
$rows = mysql_num_rows($result); 
if($rows > 0) 
{ 
echo("valid_user"); 
exit(); 
} 
else 
{exit("not valid user");} 
+1

? – DCoder

+0

@DCoder所以我應該使用什麼?當我使用腳本時,它會成功,否則會在頁面上出錯。 – kamil

+0

向我們展示服務器發回的內容 – Popnoodles

回答

1
使用jQuery的AJAX reqeust腳本的dataType時

,返回的結果被解釋爲javascript代碼,但是你返回純文本

根本變化dataType: "script"dataType: "text"

+0

我試過這個但是不行。 – kamil

+0

dataType:「text」 – Popnoodles

+0

哦,當然,忘記那裏還有一個文本類型...更新了答案 –

0

你可能並不想告訴jQuery你期待一個腳本作爲回報。返回的內容不是格式正確的腳本,所以當瀏覽器解析爲腳本時,它會給你一個錯誤。

你可以只做到以下幾點:你爲什麼要使用`script`數據類型,如果你沒有返回一個有效的腳本

$.get("http://localhost:8080/working_login.php?name=" + name + "&password=" + pass, function(data) { 
    if(data == 'success') 
    { 
     alert("Success"); 
    } 
    else 
    { 
     alert("Failed"); 
    } 
});