处理我的ajax时
$.post("main.php",
{data: $(this).text()},
function(data) {
//alert("Data saved.");
$('#demo').html(data);
});
而不是获取我在下面的查询中指定的内容
if (isset($_POST['data'])){
$data = $_POST['data'];
$query = mysql_query("SELECT * FROM tempusers
WHERE 'firstname' LIKE '%$data%'
OR 'lastname' LIKE '%$data%'
OR 'title' LIKE '%$data%'");
while($row=mysql_fetch_assoc($query)){
$firstname=$row['firstname'];
$lastname=$row['lastname'];
$grade=$row['grade'];
echo $grade;
相反,我会返回页面中的所有元素。换句话说,在下面的div中
<div id="demo"></div>
我正在归还我的页面。因此它显示为网站内的网站。它甚至不显示echo $grade;
我认为这是我的查询,但我尝试评论查询,只是echo $data
见下文
if (isset($_POST['data'])){
$data = $_POST['data'];
echo $data;
这样做给了我与之前所说的相同的结果“回应网站内的网站”,并回应了我想要的$ data。我很高兴能够理解这是怎么发生的,以及我可以做些什么来解决这个问题并让我的isset函数/ ajax得到纠正。任何其他提示将不胜感激。我知道我需要将查询更改为PDO并进行规划。
答案 0 :(得分:0)
在回显所需内容后,请显式退出以终止任何进一步的脚本执行。
echo $grade;
exit;
如果等级回波处于循环中,请在循环终止后放置退出。
答案 1 :(得分:0)
当你创建一个echo时,ajax将把它作为响应并关闭连接(这样你只能从服务器收到一个答案),
所以我的建议是,将之前的所有值汇总到echo。您可以使用json编码和解码来传递值并显示出来。
Json编码php =&gt; http://php.net/manual/es/function.json-encode.php
Javascript json decode =&gt; How to JSON decode array elements in JavaScript?
答案 2 :(得分:0)
问题是你正在回应“数据”并且正在发送“数据”:
{data: $(this).text()},
所以问题出现在this.text中,当你这样说时,你指的是什么?它必须采取整个网站并发送它,然后返回它,然后将其发布到div。
首先尝试这样做:
{data: "test"},
如果返回的结果是“test”,则问题是jQuery发送所有内容。你可以通过删除$(this)并用$(“#someid”)替换它来解决这个问题.html();