2016-03-03 9 views
0

Примечание: Undefined индекс: запрос в C: \ XAMPP \ HTDOCS \ Java \ Search \ мгновенного search.php на линии
{ "Имена": []}
Как исправить эту неопределенную ошибку индекса? Ajax для PHP

Это мой Php

$query=$_POST["query"]; 
$matchType=isset($_POST["match_type"])? $_POST["match_type"]:MatchType::CONTAINS; 

processRequest($query,$matchType); 

Вот мой Ajax скрипт

$("#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); 
      } 
     }); 
+0

Добро пожаловать в SO, если вы хотите добавить код, используйте '{}' кнопку или код отступа с 4 пробелами, используйте фрагменты, только если вы хотите добавить код, который можно запустить в браузере. – jcubic

+0

Вы уверены, что 'q' и' match_type' являются defiend? попробуйте запустить 'console.log (data)' – jcubic

+0

Прежде всего проверьте либо получение значений, либо нет. 'console.log (q); 'и console.log (match_type); чем использовать данные как 'data =" query = "+ q +" & match_type = "+ match_type,' – devpro

ответ

0

В соответствии с вашими комментариями, если оба они match_type и q которые получают значения, чем использовать AJAX с data как:

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

все еще не работает, им угадываю, может быть, это ее связь, мне нужно что-то изменить на свой url или мой php-файл? – Shiroo

+0

@shiroo перед тем изменение тест другой ответ тоже. Может быть, изменится. Тип метода будет работать. – devpro

+0

@shiroo: используйте 'isset()' для '' $ query = isset ($ _ POST ["query"])? $ _POST ["query"]: ""; 'то же для другого поля – devpro

0

Чтобы изменить тип использования запроса method свойство не type и использовать верхнийРЕГИСТР строку POSTjQuery.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);  
     } 
    }); 
+0

Еще неопределенный индекс – Shiroo

+0

@shiroo undefined index в ответе ajax ??? – devpro

+0

Да, мой php все еще не работает – Shiroo

Смежные вопросы