Подтвердить что ты не робот

Использование запроса JSON POST

Я пытаюсь использовать JSON для инициирования запроса POST в API.

Я нашел некоторый пример кода, и, прежде чем я зашел слишком далеко, я хотел получить эту работу, но я застрял...

<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. Ничего не происходит, когда я нажимаю кнопку...

Я думаю, что мне не хватает части javascript, которая интерпретирует ответ JSON и может отображаться? в противном случае любой другой совет?

4b9b3361

Ответ 1

Ниже приведен пример использования 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

Firebug XHR debug process

Ответ 2

Современные браузеры в настоящее время не реализуют JSONRequest (насколько я знаю), так как это только проект прямо сейчас. Я нашел того, кто внедрил его в качестве библиотеки, которую вы можете включить на свою страницу: http://devpro.it/JSON/files/JSONRequest-js.html (обратите внимание, что у нее есть несколько зависимостей).

В противном случае вы можете пойти с другой библиотекой JS, например, jQuery или Mootools.