wake-up-neo.com

JSON verwenden POST Anfordern

Ich versuche, JSON zu verwenden, um eine POST - Anforderung an eine API zu initiieren.

Ich habe ein paar Beispielcodes gefunden und bevor ich zu weit gekommen bin, wollte ich das zum Laufen bringen, aber ich stecke fest ...

<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> 

Dies ist eine .html-Datei, die ich in Chrome laufe. Nichts passiert, wenn ich auf die Schaltfläche klicke ... 

Ich glaube, mir fehlt ein Stück Javascript, das die JSON-Antwort interpretiert und angezeigt werden kann. sonst noch ein anderer rat?

13
GK1667

Ein Beispiel für jQuery ist unten. Hoffe das hilft

<!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-Debug-Prozess

Firebug XHR debug process

27
Phil

Moderne Browser implementieren derzeit (soweit ich weiß) JSONRequest nicht, da es sich derzeit nur um einen Entwurf handelt. Ich habe jemanden gefunden, der sie als Bibliothek implementiert hat, die Sie in Ihre Seite aufnehmen können: http://devpro.it/JSON/files/JSONRequest-js.html .

Andernfalls möchten Sie vielleicht eine andere JS-Bibliothek wie jQuery oder Mootools verwenden.

0
Ivan