0

私はjsonで応答を取得しています(firebugでチェックできます)が、これはjson応答を解析せず、結果が表示されません。私は何を間違っていますか?ドキュメントhttp://docs.jquery.com/Plugins/Autocompleteで何も見つかりませんでした

これが私のJSON応答です

({"Contacts":[{"Phone":"","Email":"","Labels":"","Mobile":"12345678","Firstname":"john"}]});

そして、これは私のjQueryです:

$("#destinations").autocomplete({
    source: function (request, response) {
        $.getJSON("http://localhost/contactApi.do?callback=?", 
          { 'contactMobile': request.term, maxRows: 12, style: "full" }, 
          function(data) {
              if(data.Contacts){
                  var x = $.map(data.Contacts, function(v, i){
                      console.log(v)
                      return {
                          label: v.Mobile + ' - ' + v.Firstname, 
                          v: v.Firstname
                      }
                  });
                  response(x);
              }
          }
        );        
    }
})
4

1 に答える 1

0

問題がサーバー側にあることが一度私に起こりました。JSON ではなく生の文字列として応答を送信していました。適切なヘッダー (content-type:application/json) がサーバーから送り返されていることを確認できる場合は、firebug を調べてください。また、firebug を使用して JSON という名前のタブを表示できるはずです。適切なヘッダーを追加した後、jQuery を使用して値を逆シリアル化することができました。

于 2013-02-06T00:39:16.370 に答える