Данные результатов функции jquery $ .post - PullRequest
1 голос
/ 13 октября 2009

Когда я делаю вызов ajax (см. Код ниже), что такое «данные». Как мне установить и получить данные

//  $.post()  
 $("#post").click(function(){  
     $("#result").html(ajax_load);  
     $.post(  
         loadUrl,  
         {language: "php", version: 5},  
         function(data){  
             $("#result").html(data);  
         },  
         "json"  
     );  
 });

Ответы [ 4 ]

5 голосов
/ 13 октября 2009

Данные представляют собой сериализованные значения ваших входов. Пример:

<form>
    <input type='text' name='myText1' value='hello'/>
    <input type='text' name='myText2' value='world'/>
</form>

Теперь вы можете запустить это:

var myData = $('form').serialize();
alert(myData);

А в вашем окне сообщения будет:

myText1=hello&myText2=world

myData - это значение данных, которое вы хотите передать в функцию $ .post.

Поскольку вы новичок в jQuery, я, возможно, рекомендую вам попробовать вместо этого использовать функцию $. Ajax . Вариантов для этого гораздо больше, но я всегда думал, что это проще и понятнее, чем $ .post. Вот как я бы это использовал:

$.ajax({
    type: "POST",    //define the type of ajax call (POST, GET, etc)
    url: "my-ajax-script.php",   //The name of the script you are calling
    data: myData,    //Your data you are sending to the script
    success: function(msg){
        $("#result").html(msg);   //Your resulting action
    }
});

Кстати, не забудьте, чтобы использовать функцию сериализации jQuery, все входы должны иметь установленный атрибут name , иначе функция сериализации будет их игнорировать.

1 голос
/ 13 октября 2009

В документации для $ .post говорится, что данные "могут быть xmlDoc, jsonObj, html, text и т. Д ...". Это то, что сервер возвращает для loadUrl, который вы указали с данными параметрами (в вашем случае, language: "php", version: 5), поэтому вам нужно проверить, что сервер возвращает.

Просто предупредите (данные) в вашем обратном вызове, и вы увидите, что было возвращено.

Обновление: переименовано в «responseText» в «data», поскольку OP изменил вопрос, чтобы сделать это.

0 голосов
/ 13 октября 2009
$.post('fileName.php',{

data: $('#id').val(),
},
function(response)
{
  alert(response);
}
}
0 голосов
/ 13 октября 2009

Например, я использую:

$(document).ready(function(){
$("#btSend").click(function() {
    $.post("/Ajax/script.php", {nome: $("#nome").val(), email: $("#email").val()}, function(data) {
        alert(data);
    });
    return false;
});

});

script.php возвращает то, что я хочу показать, но вы можете изменить его, чтобы выполнить другую операцию с данными. «BtSend» - это изображение, а «nome» и «email» - это текстовые поля html.

Это работает:)

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