hel*_*llo 6 javascript ajax jquery
我从我的ajax响应中得到一个[object object].
$.ajax({
type: "GET",
data: "id_1="+id_1+"&id_2="+id_2,
url:"ajax/url.php"
}).done(function(data){
var left= $(data).find("#left");
$("#left").html(left);
alert(left);
});
Run Code Online (Sandbox Code Playgroud)
在我的网址中,我只是简单的编码
if(isset($_GET["id_1"]) && isset($_GET['id_2'])){
$id_1 = $_GET["id_1"];
$id_2 = $_GET['id_2'];
$right= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ?");
$right->execute(array($id_1));
$left= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ? ");
$left->execute(array($id_2));
<div id='right'><?php echo $right->fetchColumn();?></div>
<div id='left'><?php echo $left->fetchColumn();?></div>
}
Run Code Online (Sandbox Code Playgroud)
当我完成所有操作后,它会回复[对象对象]
有谁知道它为什么这样做?
谢谢!
编辑:
我在.done中添加了一些编码(function())
ale*_*lex 11
data是一个对象.[object Object]只是对象的toString()回应.
您需要访问对象的数据.尝试使用console.log(data)检查其内容.
从您的PHP示例看起来您没有按原样提供代码.您发布的代码将是语法错误.
另外,请检查响应的MIME类型.你可能想强迫dataTypeas html.
我已经解决了我的问题。问题是我需要将我的 div 包裹在另一个 . 之后 find() 方法将能够捕获这些 id 并返回正确的对象。
if(isset($_GET["id_1"]) && isset($_GET['id_2'])){
$id_1 = $_GET["id_1"];
$id_2 = $_GET['id_2'];
$right= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ?");
$right->execute(array($id_1));
$left= $dbh->prepare("SELECT COUNT(*) FROM table WHERE id_1 = ? ");
$left->execute(array($id_2));
<div> // wrapper
<div id='right'><?php echo $right->fetchColumn();?></div>
<div id='left'><?php echo $left->fetchColumn();?></div>
</div>
}
Run Code Online (Sandbox Code Playgroud)