一个php文件中的两个事件功能

时间:2016-02-19 07:02:08

标签: javascript php jquery json ajax

您好我是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>

3 个答案:

答案 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...