2013-05-31 86 views
0

我正在使用具有API的照明系統,該系統允許我通過HTTP POST請求激活「場景」。使用HTTP POST查詢API

我可以通過將URL,UN & PW和查詢輸入到正文中,使用API​​測試程序來使其工作[https://apigee.com/console/others]。

我的問題是 - 我如何構建這個嵌入到一個網頁的按鈕? 我可以將正文中的URL和XML內容合併爲單個URL字符串還是需要調用單獨的XML文件?

如果有誰能給我一個HTTP POST請求來調用一個XML文件的例子嗎?

我敢肯定這是非常基本的東西,但我努力找到迄今爲止發現的任何教程中的信息。

羅賓

回答

0

如果API是一個真正的REST API,那麼就應該支持JSON爲好,這是普通的JavaScript對象 - jQuery library使得發送與AJAX非常簡單的HTTP請求。

雖然有一個問題 - 爲了讓瀏覽器接受一個POST請求到一個不同於該網頁正在加載的域的請求,API將需要設置一個HTTP標頭以允許CORS。要麼,要麼API必須返回有效的JSONP響應,這意味着使用GET而不是POST來調用API。

下面是一個示例jsFiddle以幫助您入門。

$("button").click(function() { 
    data = { 
     param1:"FirstParamForServer", 
     param2:"SecondParamForServer" 
    }; 
    $.post("/echo/json/",data,function(result){ 
     console.log("Server has reponded successfully!"); 
     console.log(result); 
     $("#result").html("Done!"); 
    }) 
}); 
+0

非常感謝您的回覆。 這是一個統一的API我相信。不知道我完全理解這個區別。 我需要發佈的XML如下所示: {「protocolVersion」:「1」,「schemaVersion」:「1.3.0」,「requestType」:「set」,「requestData」:{「location」:[{{ 「id」:101,「sceneControl」:{「activeSceneName」:「100%」}}]}} – user2440096

+0

這不是XML--這就是JSON,太棒了! – Jeff

+0

@ user2440096如果我的答案解決了您的問題,請考慮接受它。 :) – Jeff