Jquery .post вопрос — в строку для повторной публикации

#jquery #ajax

#jquery #ajax

Вопрос:

Используя $.post, я отправляю некоторую информацию для входа на сервер. Это возвращает HTML-страницу, которую я ограничиваю классом с именем .LoggedIn

Затем я хочу повторно отправить эту информацию с помощью $.post на сервер. Я делаю это с помощью phonegap в приложении для Iphone, поэтому мне не нужно беспокоиться о междоменных проблемах.

Моя проблема в том, что данные из первого сообщения, похоже, не отправляются на второй сайт.. Все, что я получаю от моего второго скрипта, это undefined=undefined .

Вот мой код —

 $(document).ready(function() {
    $.post("https://www.somesite.com /dyns/dologin?action=loginamp;origin=homepage", { login_ffNumber: "1111111", login_surname: "name" , login_pin: "1111"},
    function(data) { 
    $('.result').html($('.loggedIn',data));
    stuff = $('.loggedIn',data)
    //alert(datatostring);
    //alert(stuff);
    sendtoserver(stuff);
    });

    function sendtoserver(stuff) {
        $.post("http://31dayswithjustin.com/qf/1.1/qfgraber.asp?", stuff, function(data) {$('.server').html(data);} );
    }

})
  

Ответ №1:

Поскольку ваша stuff переменная получает ожидаемое значение, ваша ошибка заключается в отправке ее «как есть» (объект jquery) и не отправке ее содержимого в качестве именованного параметра. Самый простой способ отправить его должным образом был бы следующим:

 function sendtoserver(stuff) {
    $.post("your_url", {"stuff": stuff.html()}, function...} );
}
  

(Предполагается, что вы хотите отправить материал innerHTML)
Но вы должны получить stuff параметр явно на сервере:

    qfgrabber.asp:    
   <% 
       Dim stuff as String
       stuff = Request.Form("stuff")
       ...
       '(continue with your page using the 'stuff' variable when needed)
    %>
  

(Я написал это в классическом ASP, потому что имя файла вашего сервера заканчивается на .asp )

Надеюсь, это поможет