Вызвать метод на стороне сервера, используя XMLHttpRequest - PullRequest
0 голосов
/ 02 сентября 2011

как я могу напрямую вызывать свою собственную функцию на стороне сервера, используя XMLHttpRequest.

предположим, у меня есть один статический веб-метод в моем aspx-файле, тогда как я могу вызвать его с помощью XMLHttpRequest. какую информацию заголовка мне нужно передать движку asp.net, и в результате движок asp.net может вызвать мой метод и вернуть ответ обратно в исходящий поток.

таким образом мне нужно вызвать мой метод на стороне сервера

    <script type="text/javascript">
var request;

// A
// Here is the new function that is called when the user submits the form.
// This example uses POST.
function submitCallback() {
    var inputValue = document.getElementById("SearchInput").value;
    var sendStr = "name=" + inputValue;
    request = new XMLHttpRequest();

    // B
    // Specify the POST method and send it.
    request.open("POST", "Default.aspx/Getdata");
    request.onreadystatechange = readyCallback;
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("IsLookup", "true");
    request.send(sendStr);
}
</script>

пожалуйста, ведите меня .... спасибо

Ответы [ 2 ]

2 голосов
/ 02 сентября 2011

Я полагаю, что вы, вероятно, ссылаетесь на методы страницы ASP.NET, когда говорите Один статический веб-метод в моем файле aspx . Методы страниц ASP.NET (или веб-сервисы для использования в JS) используют сериализацию JSON для i / p и o / p. Таким образом, вам нужно установить JSON в качестве типа контента для запроса и фактически отправить строку JSON в теле, т.е.

...
var sendStr = "{name:" + inputValue + "}";
...
request.setRequestHeader("Content-Type", "application/json");
...
request.send(sendStr);

Далее, я предлагаю вам использовать прокси, сгенерированные jquery или ASP.NET (ScriptManager), вместо того, чтобы напрямую кодировать XmlHttpRequest. В этой статье показано, как использовать jquery для вызова методов Page.

0 голосов
/ 02 сентября 2011

Думаю, самым простым способом будет использование jQuery для запросов ajax: http://api.jquery.com/category/ajax/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...