【问题标题】:passing input value in getJSON jquery在getJSON jquery中传递输入值
【发布时间】:2013-09-27 07:42:35
【问题描述】:

我有一个<input> 框,要求用户输入他们的ID 号码。输入后,我想通过 JSON 从 mysql 打印该 ID 的关联名称。

我的问题是,我如何在 javascript/jquery 中传递 ID

$('input#name-submit').on('click', function () { //get the ID input
    var id = $('input#name').val(); // store it in this string

     $.getJSON("fetch.php", {id: id}, function(data) { //pass the ID in fetch.php
        $.each(data.member, function(key, value) { 
            $("#print").text(data.emp[key]["name"]);

        });
    });

我的 fetch.php(不是实际的,但这是我的想法)

if (isset['id'] == true {
    require 'db.php';

$query = "select * from `members` where `member_no` = '[id]'";
$result = $db->($query);

$myArray = array();
while ($row = mysqli_fetch_array($result)) 
       array_push($myArray, array('name' => $row [1]);

echo json_encode(array("result" => $myArray));
}

我正在寻找的缺失部分是

  • 如何通过 javascript 将 id 值传递给我的 fetch.php 并查询该 ID 的关联名称
  • 我的fetch.php 的正确逻辑语法将查询显示为JSON 格式,获取结果并将其显示在$("#print") div 上。

【问题讨论】:

  • 它应该可以工作...检查您的浏览器网络选项卡以检查发送的请求
  • 还要确保元素 $('input#name') 存在.. 还要删除 input.. 到 $('#name').val()

标签: javascript php jquery mysql json


【解决方案1】:

替换

if (isset['id'] == true {

if (isset($_GET['id'])) {
     -----^^^^^^^^^^^^---

if (isset($_REQUEST['id'])) {
     -----^^^^^^^^^^^^^^^---

您正在使用if (isset['id'] == true {,如果条件检查是否传递了值isset,则您需要使用superglobal,即$_GET,$_POST,$_REQUEST,这是错误的

对于 MySQL 查询,您使用的 ['id'] 与普通字符串一样,但您必须如上所述使用 supergloabal。

$query = "select * from `members` where `member_no` = '".$_REQUEST['id']."'";

$query = "select * from `members` where `member_no` = '".$_GET['id']."'";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2012-05-01
    • 2012-09-01
    • 1970-01-01
    • 2010-10-06
    相关资源
    最近更新 更多