php数组请求

php array request with AJAX

本文关键字:请求 数组 php      更新时间:2023-09-26

所以我正在为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){
}
}):

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

一般的想法是通过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
        }
    }):
});