我通过Jquery/Ajax
来验证我的html表单。这是Php的流程。在php页面中,它在处理到Jquery Success方法后返回所有成功结果或错误结果。
所以我想在jquery成功方法()中接收另一个参数。有没有办法收到它?
例如:,以下行代码如果$numSearch
是== 0
elseif($numSearch === 0){
echo "<font color='red'>No Matches.</font>";
}
然后我想在jquery成功方法中接收另一个参数,以便我可以加载getDetails2(SearchValue);
函数。现在,当值为integer
时,它会加载。但是应该检查值是否为整数并且结果显示某些内容。
Php代码:
require_once("corefile.php");
$search = (int) $_POST['data'];
$cdid = inputvalid($_POST['cdid']);
if($cdid == "ID"){
// if serach value is empty
if(empty($search)){
echo "<font color='red'>Search keyword required.</font>";
}
// if serach value is not empty
elseif(!empty($search)){
// start myqli_query to search
//$numserach
}
elseif($numSearch === 0){
echo "<font color='red'>No Matches.</font>";
}
}
Jquery代码:
$(document).ready(function() {
$("#cdid").click(function() {
var SearchValue = $('#txt_name').val();
var cdid = $('#cdid').val();
$("#loading-image").show();
$.ajax({ //create an ajax request to load_page.php
type: "POST",
url: "doSearch.php",
data : {
'data' : SearchValue,
'cdid' : cdid
},
dataType: "html", //expect html to be returned
success: function(response){
if(Math.floor(SearchValue) == SearchValue && $.isNumeric(SearchValue)){
getDetails2(SearchValue);
}
$("#showSearchResult").html(response);
$('#visiableaftersearch').hide();
document.getElementById('txt_name').value='';
document.getElementById('txt_given_name').value='';
$("#loading-image").hide();
}
});
});
});
答案 0 :(得分:2)
如果您使用JSON,则可以在JSONObject中添加更多值作为键值对,例如:
{"key1":"value1","key2":"value2"}
然后使用JSON.parse,从success方法解析数据。然后循环它,以获得密钥和&amp;价值分开。
success: function(response){
var json=JSON.parse(response);
jQuery.each(json, function(i, val) {
console.log("key : "+i+" value: "+val);
});
}
答案 1 :(得分:1)
是的,可以完成,在Ajax调用中使用dataType: "json"
(而不是HTML响应),并发送一些错误标记&amp;成功,基于该标记解析您的Json
响应。
例如,
你正在制作ajax请求的php文件应编码以Json格式返回的数据,如(带有必要的标志)
//example
echo json_encode(array($con_info));