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

时间:2016-03-03 16:43:40

标签: javascript php jquery ajax database

  

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

这是我的Php

$("#query").keyup(function(){
    var q=$(this).val();
    var match_type=$("input[type=radio]:checked").val();
    var data={'query':q,'match_type':match_type};
    if(q.length==0){
        $("#results").html("");
        return false;

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

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

这是我的ajax脚本

class OrderedModelMultipleChoiceField(ModelMultipleChoiceField):
    def clean(self, value):
        qs = super(OrderedModelMultipleChoiceField, self).clean(value)
        clauses = ' '.join(['WHEN id=%s THEN %s' % (pk, i) for i, pk in enumerate(value)])
        return qs.filter(pk__in=value).extra(
            select={'ordering': 'CASE %s END' % clauses},
            order_by=('ordering',)
        )

2 个答案:

答案 0 :(得分:0)

根据您的评论,如果他们match_typeq都获得了价值而不是使用带data的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); 
   } 
});

答案 1 :(得分:0)

要更改请求类型,请使用method属性而不是type并使用大写字符串POST jQuery.ajax

   $.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);       
        }
    });