2013-11-13 2 views
1

Обычно я использую $ .ajax для отправки данных методу в URL. После некоторого поиска я обнаружил, что могу получить данные результата. Я рассматриваю это неправильно? Мне нужно правильное объяснение его использования, пожалуйста.

Кроме того, если я хочу получить больше или разные данные, чем в поле «данные:», что мне делать? И каково использование поля «context:»?

$.ajax({ 
    url: getById, 
    type: 'POST', 
    context: document.body, 
    async: false, 
    data: { 
    id : id.val(), 
    name : name.val() 
    }, 
    success:function(data) { 
    // do something with the retrieved data 
    } 
}); 
+0

Что вы пытаетесь сделать? Получить информацию о параметре 'data' или о том, как обрабатывать результаты, отправленные с сервера? – mabi

+0

Что вы ожидаете от данных в функции успеха? Что вы получаете? Ajax отправляет запрос на сервер. Когда запрос завершается с ошибкой, вызывается функция ошибки. Если запрос завершается успешно, функция успеха вызывается с данными в ответе. Если данные следуют определенному шаблону, jQuery может обрабатывать эти данные (например, в случае json). Прочтите документацию, и после того, как вы это сделали, предоставьте больше условий для вашего вопроса. Очень неясно, что вы даже пытаетесь сделать. – Sumurai8

+0

Я хотел знать разницу между полем данных в $ .ajax и параметром «данные», отправленным в функцию успеха, и tymeJV объяснил это.Что касается поля «контекст», я все еще не понимаю его, но мне в основном нужно было знать данные. –

ответ

1

data может быть любой информацией, переданной с сервера. Обычно в вызове $.ajax, который получает данные назад, вы также указываете параметр dataType в самом вызове AJAX. Наиболее распространенным является json, но есть и другие типы (XML, HTML и т. Д.).

Если вы хотите получить более одного поля, вы не добавляете больше данных в обратный вызов, вы просто кодируете данные, чтобы их можно было вытащить из переменной data. Пример с JSON, вы должны кодировать json на стороне сервера с таким большим количеством данных, сколько хотите, затем вытащите его из этой переменной data.

Предлагаю взглянуть на http://api.jquery.com/jQuery.ajax/ и прочитать на нем, это дает приятные примеры. Кроме того, перейдите в Google и проверьте возвращаемые данные на вызов jQuery AJAX, есть несколько руководств с разными бэкэндами.

1

Это может быть полезно, получить данные с ID & передать его как datastring на любой странице

var uname=$('#uname').val(); 
    var password=$('#password').val(); 

    var dataString = 'uname='+ uname + '&password='+ password; 
    $("#flash").show(); 
    $("#flash").fadeIn(400).html('<img src="image/loading.gif" />'); 
    $.ajax({ 
    type: "POST", 
    url: // Here pass your page URL 
    data: dataString, 
    cache: false, 
    success: function(result){ 
      var result=trim(result); 
      $("#flash").hide(); 
      if(result=='correct') 
      { 
       // Do whatever you want 
      } 
      else 
      { 
       // Display error message to page, if any   
       $("#errorMessage").html(result); 
      } 
    } 
    }); 
+0

Это может быть полезно с немного обратной инженерии, но не с тем, кто нуждается в правильном объяснении. Это имело смысл после прочтения других ответов. Спасибо в любом случае. –

0

Какой тип данных вы пытаетесь отправить обратно? Покажите нам скрипт который вызывается

Для простого текста/html здесь рабочий пример https://github.com/tomtoms/ajax-jquery-php

1

В вашем примере, «идентификатор» и «имя» аргументы для вашего сервера; если вы не извлекаете динамическую страницу, тогда вы можете использовать GET вместо «POST», данные, которые вы хотите (для вашего вызывающего абонента AJAX), - это ответ с сервера. С AJAX, что ответ кодируется, как правило, с одним из

но вы можете, конечно, просто получить что-либо (в том числе HTML) и использовать JQuery для замены замолвите Див

<div id='elementId'></div> 

$("#elementId").html(htmlResponse); 
+0

Я не был уверен, какой ответ принять, но я понял немного больше из объяснений tymeJV. Но я все равно ценю ваше. Спасибо. –

Смежные вопросы