簡體   English   中英

如何將json對象發布到Web API,然后接收響應?

[英]How to post json object to web api and then receive response?

我有php代碼,它工作正常,但是客戶希望將其轉換為javascript。 我有一個Web API服務URL,我需要通過username:password進行授權,然后將一個json對象發布到該Web API URL中以接收數據(也是json類型)。

這是我的PHP代碼:

curl_setopt($ch, CURLOPT_URL, $MyWebApiUrl);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json' )
);

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);           //  curl authentication

curl_setopt($ch, CURLOPT_USERPWD, "$Username:$Password");       //  curl authentication

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS,$MyPostJsonObject);

$str=  curl_exec($ch);

curl_close($ch);

$data = json_decode($str)

到目前為止,這是我的JavaScript代碼

$.ajax({
            type: 'POST',
            url: MyWebApiUrl,            
            beforeSend: function (xhr) { xhr.setRequestHeader("Authorization", "Basic  XXXXXXXXXX");},
            data: JSON.stringify(MyPostJsonObject),
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (data) {
                alert(data.d);
            },
            error: alert("An error occurred: ")
        });

我總是收到“發生錯誤:”。

希望能對您有所幫助。 謝謝。

將錯誤函數定義為

error: function(jqXHR, textStatus, errorThrown) {
    alert('An error', jqXHR, textStatus, errorThrown );
}

了解為什么您的請求無法通過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM