2015-05-20 99 views
1

返回值,我這裏有我的AJAX代碼:阿賈克斯得到的PHP代碼

$.ajax({ 
    url: url, 
    type: type, 
    data: data, 
    success: function(response){ 
     if ($returnValue == "success") { 
      alert("+"); 
     } 
     else { 
      alert("-"); 
     } 
    } 
}); 

代碼工作。但是,如何通過PHP在$returnValue中獲得值?事情是這樣的dont't工作:

PHP

<?php return $returnValue; ?> 

回答

1

你想回到你的PHP需要輸出:

echo $returnValue; 

或多個值(這需要在被解析JavaScript的):

echo json_encode($returnValue); 

然後該值將response可用:

... 
    success: function(response){ 
     console.log(response); 
     ... 
+0

感謝您的回答!我試過了,但我不工作。如果你想知道我的意思,看看Rory的答案下面的評論。 – Name

+0

@Name當你使用'console.log(response);'時,你的確切輸出是什麼? – jeroen

+0

我在Rory的回答下寫了一條評論。 – Name

1

首先,你需要echo你想在PHP返回值:

<?php echo $returnValue; ?> 

然後在JS將分配給您的成功處理函數中定義的參數,你的情況response 。試試這個:

$.ajax({ 
    url: url, 
    type: type, 
    data: data, 
    success: function(response) { 
     if ($.trim(response) == "success") { 
      alert("+"); 
     } else { 
      alert("-"); 
     } 
    } 
}); 
+0

感謝您的快速回答!我現在嘗試了很多,但我不工作。我現在在我的PHP文件中寫過'$ returnValue =「success」; echo $ returnValue;'並且我複製了你的AJAX代碼。 – Name

+0

你是否檢查過控制檯是否有錯誤信息? –

+0

是的,螢火蟲不給錯誤。我可以寫我的整個PHP文件到問題中,但我認爲它很多?它的無用(我認爲是這樣),因爲我在PHP文件的末尾添加了這兩行代碼。 – Name

0

這應該適合你。

$.ajax({ 
      url: url, 
      type: type, 
      data: data, 
      success: function(data){ 
       if(data.response == "success"){ 
        alert("+"); 
       } 
       else{ 
        alert("-"); 
       } 
      } 
     }); 
+0

請注意,OP正試圖返回單數的文本值,而不是對象 –

0

在你的js文件:

$.ajax({ 
url: "file.php", //Point your php file 
dataType: "text", 
    success: function(response) { 
    if ($.trim(response) == "success") { 
     alert("+"); 
    } else { 
     alert("-"); 
    } 
} 

});

在你file.php

header("Content-Type: text/plain"); 
echo "success"; 
+0

感謝您的答案,但它不工作。重要的是,AJAX類型=發佈? – Name

+0

嘗試console.log從你的php文件中回答 –

+0

我寫了'console.log(response)'。輸出是正確的。但是如果有其他事情是錯誤的。 – Name