2011-08-22 88 views
0

下面的代碼使用dojo.xhrGet方法調用PHP文件中的true或false文本結果。當我自己加載PHP文件(用變硬的值替換$ variable = $ _GET(「passedVariable」))時,它在我的瀏覽器窗口中正確地生成了「true」或「false」。但是,當我在較大的Web應用程序中運行該調用時,它會返回PHP源代碼而不是我的數據庫查詢結果。使用JQuery的.get()方法,我收到一個XML對象。dojo.xhrGet返回PHP源代碼,而不是文本響應

這裏是JavaScript的...

dojo.xhrGet({ 
        url: "php/check.php", 
        handleAs: "text", 
        content: {guid: featureGuid}, 
        load: function(response){ 
          alert(response); 
          dojo.style(dojo.byId("photoLink"), "display", ""); 
          } 
       }); 

這裏的PHP ...

<?php 

$guid = $_GET["guid"]; 

// Connect to Database 
$server = "server";  
$connectionSettings = array("Database"=>"db", "UID"=>"uid", "PWD"=>"pwd"); 
$connection = sqlsrv_connect($server, $connectionSettings); 

if (!$connection){ 
    die("Failed Connection"); 
} 

// Prepare and Execute query 
$sql = "sql"; 
$results = sqlsrv_query($connection, $sql); 

if ($results){ 
    $rows = sqlsrv_has_rows($results); 
    if ($rows === true) { 
     header('Content-Type: text/plain'); 
     echo "true"; 
    } 
    else { 
     header('Content-Type: text/plain'); 
     echo "false"; 
    } 
} 
else{ 
    header('Content-Type: text/plain'); 
    echo "false"; 
}?> 

任何人看問題呢?

謝謝。

+0

如果它返回PHP源代碼,那麼它肯定看起來像PHP代碼還沒有運行 - 服務器只是作爲一個簡單的文本文件。 –

回答

0

我不知道,但:

  1. 儘量確保你的主要的應用程序是否正確地執行PHP,這似乎有點奇怪,JavaScript可以拉的源代碼。

  2. 嘗試添加:die()echo trueecho false這將阻止它進一步。

我之所以這麼說,檢查PHP執行較大的應用程序,是因爲它似乎像web服務器被渲染的源代碼爲html,而不是通過翻譯運行它。

1

我會使用Firebug檢查請求和響應 - 當您直接從瀏覽器調用URL而不是通過XHR時,請檢查URL和標頭是否相同。

相關問題