2013-05-31 53 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