使用JSON格式的AJAX调用自动完成时出现问题

使用JSON格式的AJAX调用自动完成时出现问题,ajax,autocomplete,Ajax,Autocomplete,我正在尝试使用AJAX调用调用JSON数据,如下所示,在我的输入字段中使用autocomplete 但它不会返回/建议任何值..当我调试时,它也会进入sucesmodule $(document).ready(function () { function log( message ) { $( "<div>" ).text( message ).prependTo( "#log" ); $( "#log" ).scrollTop( 0 ); }

我正在尝试使用AJAX调用调用JSON数据,如下所示,在我的输入字段中使用autocomplete

但它不会返回/建议任何值..当我调试时,它也会进入sucesmodule

$(document).ready(function () {
    function log( message ) {
      $( "<div>" ).text( message ).prependTo( "#log" );
      $( "#log" ).scrollTop( 0 );
    }
$( "#city" ).autocomplete({
  source: function( request, response ) {
    $.ajax({
         'async': false, 
                'global': false, 
      url: "webservice?$top=10&$format=json",
      dataType: "json",
      data: {
        featureClass: "P",
        style: "full",
        maxRows: 12,
        term: request.term
      },
      success: function( data ) {

        response( $.each( data, function(i, results ) {
          return {
            label: results.CITY,
            value: results.CITY
          }
        }));
      },
    });
  },
  minLength: 2,
  select: function( event, ui ) {
    log( ui.item ?
      "Selected: " + ui.item.label :
      "Nothing selected, input was " + this.value);
  }, 
  open: function() {
    $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
  },
  close: function() {
    $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
  }
});
有人能告诉我上面的代码出了什么问题吗

注意:我使用的
json
变量有一个不需要此部分的转义字符串,或者是
$.parseJSON
函数

JS:

var json = "{\"d\":{\"results\":[{\"__metadata\": {\"uri\":\"webservice(\'9424951638763661\')\",\"type\":\"arn.app.WebContent.data.LOCType\"},\"GID\":\"942495163876361\",\"USER\":\"ARN\",\"CITY\":\"Los Angels\"},{\"__metadata\": {\"uri\":\"webservice(\'9424951638763662\')\",\"type\":\"arn.app.WebContent.data.LOCType\"},\"GID\":\"942495163876362\",\"USER\":\"ARN\",\"CITY\":\"San Diago\"}]}}";

var result = $.parseJSON(json);

$.each(result.d.results, function(i, results ) {
    alert(results.CITY);
});
response( $.each( data, function(i, results ) {
response( $.each( data.d.results, function(i, results ) {

问题 您的数据与您选择的数据不同

更改:

var json = "{\"d\":{\"results\":[{\"__metadata\": {\"uri\":\"webservice(\'9424951638763661\')\",\"type\":\"arn.app.WebContent.data.LOCType\"},\"GID\":\"942495163876361\",\"USER\":\"ARN\",\"CITY\":\"Los Angels\"},{\"__metadata\": {\"uri\":\"webservice(\'9424951638763662\')\",\"type\":\"arn.app.WebContent.data.LOCType\"},\"GID\":\"942495163876362\",\"USER\":\"ARN\",\"CITY\":\"San Diago\"}]}}";

var result = $.parseJSON(json);

$.each(result.d.results, function(i, results ) {
    alert(results.CITY);
});
response( $.each( data, function(i, results ) {
response( $.each( data.d.results, function(i, results ) {
至:

var json = "{\"d\":{\"results\":[{\"__metadata\": {\"uri\":\"webservice(\'9424951638763661\')\",\"type\":\"arn.app.WebContent.data.LOCType\"},\"GID\":\"942495163876361\",\"USER\":\"ARN\",\"CITY\":\"Los Angels\"},{\"__metadata\": {\"uri\":\"webservice(\'9424951638763662\')\",\"type\":\"arn.app.WebContent.data.LOCType\"},\"GID\":\"942495163876362\",\"USER\":\"ARN\",\"CITY\":\"San Diago\"}]}}";

var result = $.parseJSON(json);

$.each(result.d.results, function(i, results ) {
    alert(results.CITY);
});
response( $.each( data, function(i, results ) {
response( $.each( data.d.results, function(i, results ) {
说明:

var json = "{\"d\":{\"results\":[{\"__metadata\": {\"uri\":\"webservice(\'9424951638763661\')\",\"type\":\"arn.app.WebContent.data.LOCType\"},\"GID\":\"942495163876361\",\"USER\":\"ARN\",\"CITY\":\"Los Angels\"},{\"__metadata\": {\"uri\":\"webservice(\'9424951638763662\')\",\"type\":\"arn.app.WebContent.data.LOCType\"},\"GID\":\"942495163876362\",\"USER\":\"ARN\",\"CITY\":\"San Diago\"}]}}";

var result = $.parseJSON(json);

$.each(result.d.results, function(i, results ) {
    alert(results.CITY);
});
response( $.each( data, function(i, results ) {
response( $.each( data.d.results, function(i, results ) {
这是因为ASP.NET的JSON结果始终包含
.d
。然后包括一个
results
元素。这将使您进入阵列,并允许您在阵列上
$。每个




很抱歉,这是我的错误,JSON数据没有“,”并且它只是一个正确的JSON数据..谢谢我的实际问题不是ajax,而是无法在我的应用程序中看到自动完成功能。是的,这应该是
data.d.results
问题。如果没有,我很乐意为您做一个演示示例。更新答案,如果您需要更多帮助,请告诉我