2013-05-16 21 views
1

我試圖通過Ajax來獲取一些數據provlem與阿賈克斯全部退回HTML代碼

var ajax1 = false; 
ajax1 = new XMLHttpRequest(); 
ajax1.open("GET","ajax/getolinedata.php"); 
ajax1.onreadystatechange = function(){ 
    var mylink = ajax1.responseText; 
    $("a[goal='online']").attr("href",mylink); 
} 
ajax1.send(null); 

,這是PHP代碼返回數據

while($cartRow = mysql_fetch_array($getCartR)){ 
    $pro_name = $cartRow['Product_Name']; 
    if(strstr($pro_name," ")){ 
     $pro_name = str_replace(" ","_",$cartRow['Product_Name']); 
    } 
    $lin .= "&li_".$x."_type=product&li_".$x."_price=".$cartRow['Product_Price']."&li_".$x."_quantity=".$cartRow['Quantity']."&li_".$x."_name=".$pro_name."&li_".$x."_tangible=N"; 
    $x++; 
} 
echo $lin; 

但結果是這

<a href="&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd&quot;&gt;&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;https://www.2checkout.com/checkout/purchase?sid=123456&amp;mode=2CO&amp;li_0_type=product&amp;li_0_price=3700&amp;li_0_quantity=1&amp;li_0_name=iphone_4&amp;li_0_tangible=N&amp;li_1_type=product&amp;li_1_price=3000&amp;li_1_quantity=1&amp;li_1_name=Lumia_720&amp;li_1_tangible=N&amp;li_2_type=product&amp;li_2_price=4500&amp;li_2_quantity=1&amp;li_2_name=ipad_2&amp;li_2_tangible=N&amp;li_3_type=product&amp;li_3_price=2000&amp;li_3_quantity=2&amp;li_3_name=Lumia_520&amp;li_3_tangible=N" goal="online"><img src="images/online.jpg"></a> 

它返回的是整個html,而該php頁面中沒有html代碼,它只是連接到數據庫的php代碼e並獲取數據的任何幫助?

+0

您已將此標籤標記爲jquery。你會不會使用http://api.jquery.com/jQuery.ajax/發出ajax請求? – slinky2000

+0

你爲什麼不使用jauery.ajax? – bipen

+0

非常感謝你們全部幫助我解決了問題。 –

回答

3

在ajax/getolinedata.php中,如果您有html代碼或echo html代碼,它也會返回HTML代碼。

嘗試直接在瀏覽器上打開ajax/getolinedata.php。如果你得到了HTML頁面,那麼同樣會發送到ajax請求。

因此,請嘗試僅回顯需要的信息,您應該很好。

另外不要忘記在頭中設置響應類型。例如,如果您要返回json數據,請使用:

header('Content-type:text/json');

0

確保您沒有在配置文件或構造函數或類似的東西中打印html。 我得到了同樣的問題。 解決方案是創建單獨的文件來處理ajax請求。