jQuery AJAX и VBscript request.form - PullRequest
       12

jQuery AJAX и VBscript request.form

2 голосов
/ 06 октября 2010

У меня проблемы с отправкой значений с одной страницы на другую с помощью функции jQuery ajax ().

По какой-то причине request.form на моей странице VBscript не получает данные, которые я отправляю, используя функцию ajax () в jQuery.

Вот моя функция javascript, которая вызывается в событии onsubmit в моей форме:

function sendData() {
 $.ajax({
  type: "POST",
  url: "/useData.asp",
  data: {
   newData: $("form[name=myData] [name=newData]").val()
  },
  success: function(response) {
   $("#responseData").html(response);
  },
  error: function(xhr) {
   alert("Error: " + xhr.status);
  }
 });

 return false;
}

А вот мой VBscript:

<%=request.form("newData")%>

По какой-то причине, когда я использую POST, я не получаю никаких данных, возвращаемых в div responseData. Но если я изменил POST на GET и request.form на request.queryString, я получу свои данные так, как должен.

Кто-нибудь может сказать мне, почему не работают POST и request.form?

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Вот простой пример jquery и asp.net, использующих c # (надеюсь, что это работает для VB.net): В этом примере будет показано предупреждение с сообщением «Привет, мой друг: доктор Дре».

мы будем отправлять строку в метод в codebehind, как вы можете видеть в приведенном ниже скрипте, мы указываем в параметрах переменной имя метода, который будет получать данные в коде (url), и Наименование аргументов для обработки (данные)

   $(document).ready(function() {
        var myname="Dr Dre."
        var options =
                    {
                        type: "POST",
                        url: "yourpage.aspx/SayHelloTo",
                        data: '{"name":"' + myname + '"}',
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function(response) {
                            if (response.d != "") {
                                   alert(response.d);
                            }
                        }
                    };
                    $.ajax(options);
    });

метод должен быть оформлен с помощью [WebMethod] и статического свойства

[WebMethod]
public static string SayHelloTo(string name)
{
    return "hello my friend: "+name;
}

надеюсь, что это поможет.

1 голос
/ 06 октября 2010

Я нашел свою проблему.

Мы используем IIS7 и использовали некоторые предопределенные правила перезаписи URL в модуле перезаписи URL.

Кажется, что применение строчных URL-адресов вызывает много проблем с такого рода вещами, поэтому я удалил правило строчных URL-адресов с сайта в IIS7, и теперь оно работает нормально.

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