簡體   English   中英

帶有“ POST”的JSON Api調用

[英]JSON Api Call with “POST”

我嘗試以下測試代碼在我的Wordpress系統上注冊用戶(已安裝JSON Api User插件):

<form id="register" name="register" method="post">
<input id="submitLogin" type="submit" value="Abschicken" onclick="register()">
</form>


<script type="text/javascript" charset="utf-8">


function register() {
 $.ajax({
url: 'http://XXX.de/api/user/register/?username=xxx@test.de&email=xxx@test.de&nonce=d60besdfee&display_name=xxx@test.de&user_pass=rtzrtzrtz0&apikey=gfhrtzh465&callback=?',
type: "POST",
dataType: 'json',
success: function(data){

 }
 });
}

</script>

代碼有什么問題?

問題在於您正在調用的端點使用JSONP ,而不僅僅是JSON。 JSONP是一種數據格式(JSON) 傳輸機制(腳本元素)。 它本質上僅是GET,而不是POST,因為在幕后實際上是向頁面添加具有src屬性的腳本元素,這使瀏覽器可以獲取腳本。

如果端點支持跨域資源共享 ,則可以使用POST(您將要刪除URL的callback=?部分)。 如果不是,則由於Same Origin Policy ,您無法使用POST與該端點交叉源對話。

旁注:我看不到您的呼叫需要使用POST的任何原因,因為您沒有發送任何數據( ajax呼叫的選項中沒有data屬性)。 您可能只想刪除type: "POST" ,將dataType: "json"更改為dataType: "jsonp" ,並刪除&callback=? (因為當您指定dataType: "jsonp"時,jQuery將處理該問題)。

暫無
暫無

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

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