【发布时间】:2012-06-06 15:28:00
【问题描述】:
我正在开发基于 ajax 的搜索,这是它的演示。我在返回结果时遇到问题。我需要显示 Result 2 次。但它只显示一次。下面是我的 HTML 代码
<form action="" method="post" id="demoform">
<select style="width:250px;padding:5px 0px;color:#f1eedb;" name="product" class="product">
<option>TENNIS</option>
<option>FOOTBALL</option>
<option>SWIMMING</option>
</select>
</form>
<div id="result">Display Result Here</div>
我使用下面的 Ajax 脚本来检索数据:-
$(".product").change(function(){
$.ajax({
type : 'POST',
url : 'post.php',
dataType : 'json',
data: {
product : $(".product option:selected").text(),
},
success : function(data){
$('#result').removeClass().addClass((data.error === true) ? 'error' : 'success')
.html(data.msg).show();
if (data.error === true)
$('#demoForm').show();
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$('#result').removeClass().addClass('error')
.text('There was an error.').show(500);
$('#demoForm').show();
}
});
});
post.php 文件的代码如下:-
<?php
require('connect.php');
$get_select = $_POST[product];
if($get_product!='FOOTBALL'){
$return['error'] = true;
return['msg'] = 'Incorrect Selection';
echo json_encode(return);
}
else {
$return['error'] = false;
$i=0;
while($i<2) {
return['msg'] = $get_product;
}
echo json_encode(return);//Returns only one result.
}
?>
我需要将结果显示为“CRICKET CRICKET”两次,但它只显示一次。 我应该怎么做才能得到这两个结果。
【问题讨论】:
-
我有几个关于 PHP 的问题: (1) $get_product 不存在 - 你的意思是 $get_select 吗? (2)所有你说'return'的地方你的意思是'$return'吗? (3) 你为什么将 $get_product 放入 $return['msg'] 两次 - 你认为你会得到两个结果吗?如果你选择'FOOTBALL',你应该得到 {'error':'false','msg':'FOOTBALL'} 的效果。
-
@adwitya-media 请看答案并标记正确的答案:)
标签: php mysql html ajax jquery