Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php中使用ajax从get检索许多值_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 在php中使用ajax从get检索许多值

Javascript 在php中使用ajax从get检索许多值,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,这里有3个文件ajax.js、index.php和retrieve.php $('#button').click(function(){ var string=$('#string').val(); $.get('php/retrieve.php',{input: string} ,function(data){ $('#feedback').text(data); }); }); index.php &

这里有3个文件ajax.js、index.php和retrieve.php

$('#button').click(function(){
   var string=$('#string').val();
   $.get('php/retrieve.php',{input: string} ,function(data){ 
       $('#feedback').text(data);                           
   }); 
});
index.php

<html lang="fr">
<head><title></title>
    <link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>
<body>


    <input id="string" type="text" name="string"/><input id="button" type="button" value="Go"/>
    <input id="string2" type="text" name="string"/><input id="button2" type="button" value="Go"/>
    <div id="feedback"></div>
    <div id="feedback2"></div>

    <script type="text/javascript" src="js/jquery-2.1.4.js"></script> 
    <script type="text/javascript" src="js/ajax.js"></script>
</body>
</html>

retrieve.php

<?php
    if(isset($_GET['input'])){
        $string=$_GET['input'];
        echo strrev($string);
    }
?>

在retrieve.php中,我从ajax.js检索输入值。js从index.php检索值。但这里只有它 检索一个值(从
) 我想从index.php中检索许多值(例如

我该怎么做呢?

在响应中使用JSON符号,这是一种表示数据的漂亮方法

在PHP端,用于将对象编码为JSON

在用于解码的javascript端

这样,您可以:

  • 在PHP中向服务器端的数组或对象添加多个值
  • 对所述对象进行编码
  • 使用ajax响应在客户端对其进行解码

    $.get('php/retrieve.php',{input: string} ,function(data){ 
        var response = JSON.parse(data);
    }
    

  • 要检索多个输入,我建议将它们组合成
    形式

    首先,使用提交按钮将输入嵌入表单中,您也不应该使用相同的
    名称
    两次,因为它现在不起作用,请创建唯一的名称

    <form action="GET" id="myForm">
      <input id="string" type="text" name="string" />
      <input id="button" type="button" value="Go" />
      <input id="string2" type="text" name="string" />
      <input id="button2" type="button" value="Go" />
      <input type="submit" value="Go" />
    </form>
    

    在响应中使用JSON符号,这是一种表示数据的漂亮方法

    在PHP端,用于将对象编码为JSON

    在用于解码的javascript端

    这样,您可以:

  • 在PHP中向服务器端的数组或对象添加多个值
  • 对所述对象进行编码
  • 使用ajax响应在客户端对其进行解码

    $.get('php/retrieve.php',{input: string} ,function(data){ 
        var response = JSON.parse(data);
    }
    

  • 要检索多个输入,我建议将它们组合成
    形式

    首先,使用提交按钮将输入嵌入表单中,您也不应该使用相同的
    名称
    两次,因为它现在不起作用,请创建唯一的名称

    <form action="GET" id="myForm">
      <input id="string" type="text" name="string" />
      <input id="button" type="button" value="Go" />
      <input id="string2" type="text" name="string" />
      <input id="button2" type="button" value="Go" />
      <input type="submit" value="Go" />
    </form>
    

    在retrieve.php中执行GET请求,并为url提供一个带有字符串值的变量输入。检索到的数据将反映在
    #反馈上


    在retrieve.php中执行GET请求,并为url提供一个带有字符串值的变量输入。然后,检索到的数据将反映在
    #feedback
    div.

    您可以创建一个更通用的jQuery函数,该函数在这两种情况下都能工作。首先,让我们更正HTML,使其包含正确的表单标记和正确的输入命名:

    <html lang="fr">
    <head><title></title>
        <link rel="stylesheet" type="text/css" href="css/style.css"/>
    </head>
    <body>
    
        <form name="myForm" action="retrieve.php">
            <input id="string" type="text" name="string1"/>
            <input id="button" type="button" value="Go"/>
            <input id="string2" type="text" name="string2"/>
            <input id="button2" type="button" value="Go"/>
        </form>
        <div id="feedback"></div>
        <div id="feedback2"></div>
    
        <script type="text/javascript" src="js/jquery-2.1.4.js"></script> 
        <script type="text/javascript" src="js/ajax.js"></script>
    </body>
    </html>
    

    您可能希望每个表单只有一个按钮,因此您应该真正地分离表单,每个表单都有自己的输入。即便如此,上面的jQuery仍然可以使用,如果需要,您可以在以后添加更多类似的表单。

    您可以创建一个更通用的jQuery函数,在这两种情况下都可以使用。首先,让我们更正HTML,使其包含正确的表单标记和正确的输入命名:

    <html lang="fr">
    <head><title></title>
        <link rel="stylesheet" type="text/css" href="css/style.css"/>
    </head>
    <body>
    
        <form name="myForm" action="retrieve.php">
            <input id="string" type="text" name="string1"/>
            <input id="button" type="button" value="Go"/>
            <input id="string2" type="text" name="string2"/>
            <input id="button2" type="button" value="Go"/>
        </form>
        <div id="feedback"></div>
        <div id="feedback2"></div>
    
        <script type="text/javascript" src="js/jquery-2.1.4.js"></script> 
        <script type="text/javascript" src="js/ajax.js"></script>
    </body>
    </html>
    

    您可能希望每个表单只有一个按钮,因此您应该真正地分离表单,每个表单都有自己的输入。即使如此,上面的jQuery仍然可以工作,如果需要,您可以在以后添加更多类似的表单。

    您缺少了
    标记。您的输入具有相同的名称。你可能想。“检索多个值”是什么意思?同时?单独单击按钮时?您缺少
    标记。您的输入具有相同的名称。你可能想。“检索多个值”是什么意思?同时?在单独的按钮点击上?为什么OP要“尝试这个”?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客。OP正在以
    $.get()
    的形式执行AJAX请求。OP为什么要“尝试这个”?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访问者。OP正在以
    $.get()
    的形式执行AJAX请求。为什么要改为AJAX?与
    $.get()
    相比,它有什么优势?当OP想要使用现有的按钮时,为什么要添加提交按钮?@JayBlanchard这只是一个简写符号,除了在示例中的可读性之外,没有什么真正的优势,但是可以随意使用
    #.get('retrieve.php',$form.serialize(),function(){console.log(“it worked”)}
    我知道它是,我只是想知道你为什么改成那样,并添加了一个提交按钮。@JayBlanchard为了便于阅读,我更改了它,并添加了一个提交按钮,以显示提交表单的常规方式,同时显示如何在不重新加载页面的情况下进行提交为什么改成AJAX?与
    $.get()
    相比,它有什么优势?当OP想要使用现有的按钮时,为什么要添加提交按钮?@JayBlanchard这只是一个简写符号,除了在示例中的可读性之外,没有什么真正的优势,但是可以随意使用
    #.get('retrieve.php',$form.serialize(),function(){console.log(“it worked”)}
    我知道它是,我只是想知道你为什么改成那样,并添加了一个提交按钮。@JayBlanchard为了便于阅读,我更改了它,并添加了一个提交按钮,以显示提交表单的常规方式,同时显示如何在不重新加载页面的情况下执行此操作