【问题标题】:php array request with AJAX使用 AJAX 的 php 数组请求
【发布时间】:2014-10-23 20:19:57
【问题描述】:

所以我正在为 uni 做一项基本任务,他们要求我们使用 ajax 和 php 创建一个文本输入来验证姓名和电子邮件以及一个实时搜索栏,所有这些都没有使用 db。所以我已经设置了 html,.php 具有 3 个不同的数组,其中存储了名称、电子邮件和新闻,以及一个 main.js,它已经显示了您在控制台中使用 keyup 事件触发器在文本输入中键入的任何内容。我只是想不出一种方法来发出 ajax 请求来比较您输入的内容与存储在数组中的信息。 在arrays.php 我有这个:

*$classes = array('1' => 101, '2'=> 102, '3'=>103 );*

*$names = array('juan', 'tito', 'pedro', 'horacio', 'andres', 'cesar', 'nicolas');*

*$news = array('Title'=>array('El papa muere', 'Argentina gana el mundial', 'Fondos buitres cancelados' )'Noticia'=>array('noticia1', 'noticia2', 'noticia3')
                  );*

在 main.js 我有这样的东西:

$('#name').keyup(function(){
        var name=$(this).val();
        console.log(name);

检索我在每个文本字段中键入的内容。据我所知,教授写了这样的东西给我们一个提示:

$.ajax({
url: ' ',
type: ' ',
success:function(data){
}
}):

但我就是想不通,所以任何帮助都会非常感激!

【问题讨论】:

标签: javascript php jquery arrays ajax


【解决方案1】:

一般的想法是通过 ajax 将搜索框的当前值传递给您的 PHP 脚本。然后在您的 PHP 脚本中,您将根据传递给它的当前值过滤您的选项并返回过滤后的响应。然后,javascript 将获取过滤后的响应并将其输出到页面上。

人们通常使用 JSON 作为 Javascript 和 PHP 之间传递信息的格式。

为了让您更好地理解 $.ajax 的作用。它将向您的服务器发出请求,然后处理结果。指定的参数执行以下操作:

url: The URL to request
type: The format of the response (eg. text, xml, json, etc.)
success: A callback to be called when the response comes back from the response.

还要注意 AJAX 中的 A 代表异步。这就是为什么你需要给 $.ajax 函数一个回调。由于 HTTP 的性质,您发出请求,响应可以立即或在 30 秒内返回或永远不会返回。当响应返回时,回调将执行。它不是线性的。因此,回调可以在 $.ajax 调用下方的代码之后执行,具体取决于响应返回所需的时间。

也许看看下面的例子,让你更好地了解如何做到这一点:

<?php

    $names = array('juan', 'tito', 'pedro', 'horacio', 'andres', 'cesar', 'nicolas');

    $result = array();
    foreach($names as $name) 
    {
        if (strpos($name, $_GET['name']) !== false)
        {
            $result[] = $name;
        }
    }

    echo json_encode($result);

?>

还有 javascript

$('#name').keyup(function() {
    var name=$(this).val();
    $.ajax({
        url: '?name=' + name,
        type: 'json',
        success: function(data) {
            console.log(data);
            // add data to results
        }
    }):
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2013-11-13
    • 2014-09-13
    • 2010-10-19
    相关资源
    最近更新 更多