我正在尝试使用JSON来启动对API的POST请求。
我找到了一些示例代码,在我走得太远之前我想让它工作,但我被卡住了......
<html>
<head>
<script type="text/javascript">
function JSONTest()
{
requestNumber = JSONRequest.post(
"https://example.com/api/",
{
apikey: "23462",
method: "example",
ip: "208.74.35.5"
},
function (requestNumber, value, exception) {
if (value) {
processResponse(value);
} else {
processError(exception);
}
}
);
}
</script>
</head>
<body>
<h1>My JSON Web Page</h1>
<button type="button" onclick="JSONTest()">JSON</button>
</body>
</html>
这是一个.html文件,我在chrome中运行。单击按钮时没有任何反应......
我想我错过了一段解释JSON响应并可以显示的javascript?否则任何其他建议?
答案 0 :(得分:27)
下面是使用jQuery的示例。希望这有帮助
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<title>My jQuery JSON Web Page</title>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
JSONTest = function() {
var resultDiv = $("#resultDivContainer");
$.ajax({
url: "https://example.com/api/",
type: "POST",
data: { apiKey: "23462", method: "example", ip: "208.74.35.5" },
dataType: "json",
success: function (result) {
switch (result) {
case true:
processResponse(result);
break;
default:
resultDiv.html(result);
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
};
</script>
</head>
<body>
<h1>My jQuery JSON Web Page</h1>
<div id="resultDivContainer"></div>
<button type="button" onclick="JSONTest()">JSON</button>
</body>
</html>
Firebug调试过程
答案 1 :(得分:0)
现代浏览器目前没有实现JSONRequest(据我所知),因为它现在只是一个草稿。我找到了一个将其作为库实现的人,您可以将其包含在您的页面中:http://devpro.it/JSON/files/JSONRequest-js.html(请注意它有一些依赖项)。
否则,你可能想要使用另一个JS库,如jQuery或Mootools。