Javascript 如何修复此未定义的索引错误?Ajax到PHP

Javascript 如何修复此未定义的索引错误?Ajax到PHP,javascript,php,jquery,ajax,database,Javascript,Php,Jquery,Ajax,Database,注意:未定义索引:在第71行的C:\xampp\htdocs\Java\Search\instant-Search.php中查询 {“名称”:[]} 这是我的Php $query=$\u POST[“query”]; $matchType=isset($\u POST[“匹配类型”])$_POST[“匹配类型”]:匹配类型::包含; processRequest($query,$matchType); 这是我的ajax脚本 $(“#查询”).keyup(函数(){ var q=$(this.v

注意:未定义索引:在第71行的C:\xampp\htdocs\Java\Search\instant-Search.php中查询
{“名称”:[]}

这是我的Php

$query=$\u POST[“query”];
$matchType=isset($\u POST[“匹配类型”])$_POST[“匹配类型”]:匹配类型::包含;
processRequest($query,$matchType);
这是我的ajax脚本

$(“#查询”).keyup(函数(){
var q=$(this.val();
var match_type=$(“输入[type=radio]:选中”).val();
变量数据={'query':q,'match_type':match_type};
如果(q.length==0){
$(“#结果”).html(“”);
返回false;
$.ajax({
url:“/Java/Search/instant Search.php”,
数据:数据,
类型:“post”,
数据类型:“json”,
成功:功能(res){
var tmpl=$(“#names_tmpl”).html();
var html=Mustache.to_html(tmpl,res);
$(“#结果”).html(html);
}
});

根据您的评论,如果两个
匹配类型
q
都获得了值,则使用ajax和
数据
如下:

$.ajax({ 
   url:"/Java/Search/instant-search.php", 
   data: "query="+q+"&match_type="+match_type , 
   type:"post", 
   dataType:"json", 
   success:function(res) { 
     var tmpl=$("#names_tmpl").html(); 
     var html=Mustache.to_html(tmpl,res);
     $("#results").html(html); 
   } 
});

要更改请求的类型,请使用
方法
属性而不是
类型
,并使用大写字符串
POST


欢迎使用SO如果您想添加代码使用
{}
按钮或用4个空格缩进代码,仅当您想添加可以在浏览器中运行的代码时才使用代码段。您确定
q
match\u type
被定义了吗?尝试运行
console.log(data)
首先检查是否获取值。
console.log(q) 
和console.log(match_type);然后使用数据作为
data=“query=”+q+”&match_type=“+match_type,
是的,我已经这么做了。对不起,我刚刚开始学习jquery。他们两个都在
console.log(q)
console.log(match_type)中都有值吗
仍然不工作,我猜可能是连接,我必须更改我的url或我的php文件吗?@shiroo在更改之前还需要测试其他答案。可能更改。键入方法会起作用。@shiroo:use
isset()
对这两个
$query=isset($\u POST[“query”])?$\u POST[“query”]:“
其他的也一样field@shiroo仍然在寻找答案?仍然没有定义index@Shiroo您是否正在检查开发人员工具中的响应?根据链接文档:-type是方法的别名,目前应该可以。-type的参数是大写的,因此它应该是
类型或方法:“POST”
。参数错误它将返回到
GET
@cypherabe..Not agreed friend你有任何资源吗?@devpro这是我在链接的api描述(这个(jcubic的)答案)中读到的。我解释错了吗?
   $.ajax({
        url: "/Java/Search/instant-search.php",
        data: data,
        method: "POST",
        dataType: "json",
        success: function(res) {
            var tmpl=$("#names_tmpl").html();
            var html=Mustache.to_html(tmpl,res);

            $("#results").html(html);       
        }
    });