您好我是php和jquery的新手。请原谅我的php词汇。
我的js文件中有两个事件。
1)onsubmit:将用户输入的文本提交给result.php,查询数据库并显示结果。 (result.php?名称= XYZ)
2)onkeyup:对同一个查询url并获取json数据的result.php进行ajax调用。 (result.php?键= XYZ)
我的问题是,如果我可以在result.php中检查isset($ _ GET [' key']),查询url并返回json,则不解析其余的php。 在C编程的情况下,基本上有返回0之类的东西。
这个问题可能看起来很愚蠢,无论如何我可以拥有2个不同的php文件,但我想知道它是否可行。 在此先感谢:)
<form action = "result.php" method = "get">
<input type = "text" id = "name" >
<input type = " submit">
</form>
<script>
$('#name').on('keyup',function (e){
input_val = $(this).val();
$.ajax({
url: "result.php?key=" + input_val,
success: function(data){
alert(data);
}
});
});
</script>
答案 0 :(得分:0)
根据你的问题,如果我理解正确,你想要从PHP返回布尔值到Ajax,你可以根据if条件回应“成功”或“失败”,并在ajax响应中捕获它并在JS中处理它。
答案 1 :(得分:0)
您可以使用exit;
或die();
来终止php脚本。 http://php.net/manual/en/function.exit.php
答案 2 :(得分:0)
如果我完全理解,您想知道一种方法,只使用一个PHP脚本能够处理Ajax和“正常”(返回整页)任务。
因此,如果是,可以使用以下架构轻松实现:
//... some initialization, if needed
if (isset($_GET['key'])) {
// ... do the job for creating the expected Ajax response, say $ajax_response
echo $ajax_response;
exit;
// nothing else will happen in the current script execution
}
// otherwhise you can do all "normal" job here, as usual...