2017-01-13 10 views
0

のデータを取得するにはどうすれば残りのWebサービスを要求するコードを持っている:AJAXの応答から

<script> 
    var respone=''; 
    $('.inn').on('change',function(){ 
     $.ajax({ 
      type: "post", 
      dataType: "jsonp", 
      url:url, 
      success: function(data){ 
       var json=JSON.parse(data); 
       respone=data; 
       console.log(respone); 
      }, 
      error:function(e) 
      { 
       console.log(e); 
      } 

     }); 
     alert(respone); 
     console.log(respone) 

    }) 
</script> 

REST Webサービスが正常に動作し、それはJSONデータを返します。 Ajaxはいくつかのデータを返しますが、コンソールでは返しません。 ajaxレスポンスを取得してコンソールでプレビューすることは可能ですか?

+0

それは 'jsonp'または' JSON'ですか? –

+1

jsonpの場合コールバックが必要 – guradio

+0

'success'コールバックに' var json = JSON.parse(data); '行の直前に' console.log(data) 'を入れて、ここに結果を投稿してください。 – 31piy

答えて

0

次の行を確認:

dataTypeと(デフォルト:インテリジェントゲス(XML、JSON、スクリプト、またはHTML)) 型:String あなたが戻ってサーバーから期待しているデータの種類を。何も指定されていない場合、jQueryは応答のMIMEタイプに基づいてそれを推測しようとします(XML MIMEタイプはXMLを生成します。1.4ではJSONがJavaScriptオブジェクトを生成し、1.4スクリプトはスクリプトを実行します。文字列として返されます)。使用可能な型(および成功のコールバックの最初の引数として渡される結果)は次のとおりです。

"xml": jQueryで処理できるXMLドキュメントを返します。

"html": HTMLをプレーンテキストとして返します。含まれているスクリプトタグは、DOMに挿入されると評価されます。

"script":レスポンスをJavaScriptとして評価し、プレーンテキストとして返します。 cacheオプションがtrueに設定されていない限り、クエリ文字列パラメータ_ = [TIMESTAMP]をURLに追加してキャッシュを無効にします。注:これにより、リモートドメイン要求のPOSTがGETに変わります。

"json":レスポンスをJSONとして評価し、JavaScriptオブジェクトを返します。要求にjsonp:falseが含まれていない限り、クロスドメイン "json"要求は "jsonp"に変換されます。 JSONデータは厳密に解析されます。不正なJSONが拒否され、解析エラーがスローされます。 jQuery 1.9では、空の応答も拒否されました。サーバーは代わりにnullまたは{}の応答を返さなければなりません。 (適切なJSONフォーマットの詳細については、json.orgを参照してください)

"jsonp": JSONPを使用してJSONブロックにロードします。余分な "?callback =?"を追加します。 URLの末尾にコールバックを指定します。 cacheオプションがtrueに設定されていない限り、クエリ文字列パラメータ "_ = [TIMESTAMP]"をURLに追加してキャッシュを無効にします。

"text":プレーンテキスト文字列。

Complete Reference

そして、あなたは次のようにあなたの応答を慰めることができます。

success: function(data){ 
    console.log(data); 
}