2016-04-25 23 views
0

私は、Postmanを使用してURLからjsonデータを取得しました。結果は良いですし、私はjsonの文字列として配列を持っています。以下は、私がデータを取得するために、ポストマンを使用しての間に撮影された画像されていますPostmanのようにAjaxコールをシミュレートする方法は?

Header

Body

私はAjax呼び出しでこれをやりたいが、それを実装する方法がわかりません。

function getDeliveryStatusDetail(qrcode) { 
var url = 'http://thecompany.com/DeliverStatusDetail/DeliverStatusDetail'; 
var data = JSON.stringify({ QRCode: qrcode }); 
$.ajax 
    ({ 
     type: "POST", 
     url: url, 
     dataType: 'jsonp', 
     async: false, 
     data: data, 
     contentType: "application/json; charset=utf-8", 
     beforeSend: function (xhr) { 
      xhr.setRequestHeader('Authorization', 'lgGbkiJ1n2RtjaXLHzvHs7yejzejt+0O4ELj7im8PzYGAOyTO'); 
     }, 
     success: function() { 
      alert('Thanks for your comment!'); 
     }, 
     error: function (xhr, status, error) { 
      alert(xhr.responseText); 
     } 
     }); 
} 

成功したリターンJSONは次のようになります。:

{ 
    "QRCode": "KLO00998", 
    "ReceiverAddress": { 
    "FullName": "Elizabeth Jerah" 
    }, 
    "QRCodeDetail": [ 
    { 
     "QRCode": "KLO00998", 
     "Status": "A" 
    }, 
    { 
     "QRCode": "KLO00998", 
     "Status": "T" 
    }, 
    { 
     "QRCode": "KLO00998", 
     "Status": "B" 
    }, 
    { 
     "QRCode": "KLO00998", 
     "Status": "C" 
     "SignatureReturn": "" 
    } 
    ], 
    "code": "100", 
    "desc": "Success", 
    "ErrorMessages": null, 
    "ValidationMessages": null 

    } 

上記のコードは、郵便配達のプロセスをシミュレートしますが、失敗した可能性があり、これは私がしようとした場合の例です。サンプルコードの再フォーマットを手伝ってもらえますか?

+0

postmanは、ajaxが実行するすべての同じ起点ポリシーに従う必要はありません。 –

+0

あなたの質問は何ですか?あなたはアヤックスコールをする方法を尋ねていますか? –

+0

例を挙げてみましょう。 –

答えて

4

最後に、私はC#で新しい解決策を発表しました。イベント私の質問は、C#に相対的ではありませんが、これは私の唯一の解決策は、この問題を解決することです。

var httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http://mycompany.com/DeliverStatusDetail/DeliverStatusDetail"); 
      httpWebRequest.ContentType = "application/json"; 
      httpWebRequest.Method = "POST"; 
      httpWebRequest.Headers["Authorization"] = "Alpha lgGbkiJ1n2RtjaXLHzvHs7yejzejt+0O4"; 

      using (var streamWriter = new System.IO.StreamWriter(httpWebRequest.GetRequestStream())) 
      { 
       string json = "{\"QRCode\":\"HS2016000\"}"; 

       streamWriter.Write(json); 
       streamWriter.Flush(); 
       streamWriter.Close(); 
      } 

      var httpResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse(); 
      using (var streamReader = new System.IO.StreamReader(httpResponse.GetResponseStream())) 
      { 
       var result = streamReader.ReadToEnd(); 
       Label1.Text = result; 
      } 

私はクライアント側でajaxを呼び出す予定でしたが、質問で説明したように立ち往生しました。次に、C#でHttpWebRequestを設定してサーバー側で試したところ、ASPxページでコードを実行した後に結果を得ることができます。

+0

これはPythonで行うことができますか? –

+0

見つかりPythonで作業溶液 'インポートurllibは 輸入urllib2の 輸入base64で URL = 'http://mycompany.com/DeliverStatusDetail/DeliverStatusDetail' てAuthKey = base64.b64encode( "アルファ:lgGbkiJ1n2RtjaXLHzvHs7yejzejt + 0O4") ヘッダー= { "コンテンツタイプ": "アプリケーション/ JSON"、 "許可": "基本" +てAuthKey} データ= { "QRコード": "HS2016000"} 要求=はurllib2.Request(URL) 要求.add_data(urllib.urlencode(data)) のキー、値はheaders.items(): request.add_header(key、value) レスポンス= urllib2.urlopen(リクエスト) print response.info()。ヘッダー print response.read() ' –

関連する問題