jQuery AJAX成功回调不适用于JSON数据类型

时间:2014-06-16 15:06:32

标签: javascript php jquery ajax json

我试图从ajax_autocomplete.php获取一些JSON数据然后在成功回调中做一些事情。问题是我无法成功回调,错误回调都没有说明任何内容。

我检查了我的JSON并且它有效,我现在已经尝试了两个小时但无法找到解决方案。

$("#reg").autocomplete({
  minLength: 2,
  dataType: 'json',
  source: 'ajax_autocomplete.php',
  success : function(data){
    alert('success');
  },
  error : function(xhr, status){
    console.log(status);
  }

});

这是我的JSON:

[{"label":"Test id 1","id":"1"},{"label":"Test id 2","id":"2"}]

我尝试添加

type: 'GET',
async : false,

但它不起作用。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

$( "#reg" ).autocomplete({
    minLength: 2,
    source: function( request, response ) {
        $.ajax({
            url: "ajax_autocomplete.php",
            dataType: "json",
            success: function( data ) {
                response( $.map( data, function( item ) {
                  return {
                    label: item.label,
                    value: item.id
                  }
                }));
                // do something
            }
        });
    },

    select: function( event, ui ) {
        // ...
    },
    open: function() {
        // ...
    },
    close: function() {
        // ...
    }
});

答案 1 :(得分:0)

  $.ajax({
                url : "ajax_autocomplete.php",
                data : {},
                type : "GET",
                success : function(data) {
                          alert(data);
                },
                error : function(err) {
                             alert(err);
                }                       
    });