我试图通过ajax获取一些数据
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="<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></head><body></body></html>https://www.2checkout.com/checkout/purchase?sid=123456&mode=2CO&li_0_type=product&li_0_price=3700&li_0_quantity=1&li_0_name=iphone_4&li_0_tangible=N&li_1_type=product&li_1_price=3000&li_1_quantity=1&li_1_name=Lumia_720&li_1_tangible=N&li_2_type=product&li_2_price=4500&li_2_quantity=1&li_2_name=ipad_2&li_2_tangible=N&li_3_type=product&li_3_price=2000&li_3_quantity=2&li_3_name=Lumia_520&li_3_tangible=N" goal="online"><img src="images/online.jpg"></a>
它返回整个html,而那个php页面中没有HTML代码,只是php代码连接到数据库并获取数据任何帮助?
答案 0 :(得分:3)
在ajax / getolinedata.php中如果你有html代码或echo html代码,它也会返回HTML代码。
尝试直接在浏览器上打开ajax / getolinedata.php。如果您获得HTML页面,则会将相同内容发送到ajax请求。
因此,尝试只回显所需的信息,你应该做得很好。
另外不要忘记在标题中设置响应类型。例如,如果要返回json数据,请使用:
标题('Content-type:text / json');
答案 1 :(得分:0)
确定您没有在配置文件或构造函数中打印html或类似的东西。 我遇到了同样的问题。 解决方案是创建单独的文件来处理ajax请求。