【问题标题】:How to pass a variable to a php page?如何将变量传递给php页面?
【发布时间】:2012-01-31 05:51:45
【问题描述】:

我对 jQuery 和 javascript 非常陌生。我有一个自动完成框设置(来自 jQuery UI)。在用户从搜索框中选择他的值后,我如何将该值传递给另一个 php 页面(即 getmatches.php,它将在我们的数据库中查找该值)。我有:

$(function(){
      $("#my_cell").autocomplete({
      source: "autocomplete.php",
      minLength: 1,
          delay: 0, 
      select: function (event, ui) {
          // what goes here?    

      }
     });
    });

【问题讨论】:

  • PHP 是服务器端。 Javascript 和 jQuery Javascript 库是客户端。 PHP 可以使用会话变量。 jQuery 和 Javascript 不能。他们是两个不同的世界……
  • @paulsm4 似乎他正在使用一个处理 ajax 请求的 Jquery 插件。
  • 是的,我正在使用 jQueryUI 自动完成插件。
  • @paulsm4 我认为您没有阅读他的问题。当您从他的自动完成中选择某些内容时,他只是在询问是否进行 ajax 调用。他的头衔只是误导。

标签: php javascript jquery autocomplete jquery-autocomplete


【解决方案1】:

默认情况下,jQuery Autocomplete 会将输入的值传递给您通过名为 term 的 GET 参数指定的源。因此,如果您输入例如 world,它将向autocomplete.php?term=world

发出请求

我强烈不建议在 SELECT 事件处理函数中执行 AJAX 请求。除非你的意思是别的东西(比如跟踪那个)。

【讨论】:

  • 在 SQL 语句中使用查询字符串值并不是什么大问题,只要您清理和准备语句。
  • @user522962 给我一个小范围,你想对选定的值做什么?
【解决方案2】:

您可以像这样将 get 参数附加到 url:

source: "autocomplete.php?param_name=" + document.getElementById("myfield").value,

但我认为 $.autocomplete 插件函数可能会提供用于向后端发送参数的 API,我认为您应该阅读它的文档,在大多数情况下,文档会指定您需要的所有内容

【讨论】:

  • 这不是动态的,因为源参数仅在加载时调用(或每当他执行.autocomplete())所以我们猜测默认为空,然后所有请求都向autocomplete.php?param_name=发出(是的,什么都没有)
  • 是的,这只是一个简单的例子……为此,他可以在字段上绑定一个“更改”类型的事件
  • 我已经让“source:”部分工作了。当用户向下滚动“source:”调用的结果时,我如何将该值传递回另一个 php 页面?
  • awww undesrtood,对不起,我以为那是后端发送部分。您可以在 select: 回调中运行另一个 ajax,就像这样: select: function(event, ui) { $.post("backend_path.php", {param: document.getElementById("myfield").value})并从 php 中获取参数,例如 $_POST['param']
【解决方案3】:

您可以像这样使用 GET 参数:

http://yourserver/getmatches.php?search=<yoursearchstring>

在 getmatches.php 中,检索变量。

【讨论】:

  • 从php你可以通过$_GET['search']访问这个参数
  • @jcubic 注入 FTW。清理你的变量:P
  • 我同意汤姆的观点。消毒很重要。
  • 我了解php部分。我该如何做 jQuery 或 javascript 代码?
  • 展开这个以向他展示如何将变量ajax,以及一些使用它们的php代码,我会+1这个(我今天不想写)。
猜你喜欢
  • 2016-03-13
  • 1970-01-01
  • 2020-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多