嗨,我是php和jquery的新手。请原谅我的php词汇。
我的js文件中有两个事件。
1)提交:将用户输入的文本提交到结果.php查询数据库并显示结果。(result.php?name=xyz)
2)onkeyup:对相同的结果进行ajax调用.php查询URL并获取json数据。 (result.php?key=xyz)
我的问题是我是否可以在结果.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>
如果我很好地理解,你想知道一种只使用一个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...
从你的问题中,如果我理解正确,你想将布尔值从 PHP 返回给 Ajax,你可以根据 if 条件回显"成功"或"失败",并在 ajax 响应中捕获它并在 JS 中处理它。
您可以使用
exit;
或die();
来终止php脚本。 http://php.net/manual/en/function.exit.php