Jquery и функция загрузки

#jquery #jquery-load

#jquery #jquery-загрузка

Вопрос:

Я пытаюсь получить ответ из внешнего файла. В файле php на данный момент отображается только одна переменная, и я хотел бы отобразить ее внутри #code div. Как я могу это сделать?

  $(function(){
            $('#submit').click(function(e){
               var length = $('#number').val();
               var type = $('#type').val();
               var submit = "submit";
               var url = 'public/php/codegenerator.php';
               var data = "length="   length   "amp;type="   type   "amp;submit="   submit; 
               console.log(data);

               $('#code').load(url, data, function(response){
                   $(this).response.hmtl();
               });

             e.preventDefault();
            });
        });
  

Ответ №1:

загрузка должна сделать это за вас. Поэтому изменение его на это должно сработать

 $('#code').load(url, data, function() {
    alert('success');
});
  

Комментарии:

1. Это работает. Как я могу получить переменную из файла PHP?

2. Загрузка — это самый простой способ передачи данных с сервера, используемый в основном для получения целых наборов html и простой вставки их на страницу. Если вы хотите вернуть переменные и вызвать их, например, response.myphpvariable, я предлагаю вам проверить api.jquery.com/jQuery.getJSON этот метод. Вместо печати вашей переменной php вы будете кодировать ее в json и сможете использовать ее по своему усмотрению в своем js-коде

Ответ №2:

Попробуйте это

 $('#code').load(url, data, function(response){
         $(this).html(response);
});
  

или

 $('#code').load(url, data);
  

Ответ №3:

попробуйте этот код мирного

 <div id="success"></div>
<div id="error"></div>

<script>
$("#success").load(url, data, function(response, status, xhr) {
  if (status == "error") {
    var msg = "error: ";
    $("#error").html(msg   xhr.status   " "   xhr.statusText);
  }
});
</script>
  

Ответ №4:

Итак, вы делаете в основном правильные вещи, если ваш php-код отправляет обратно тип содержимого «текст / html». Вы могли бы попробовать установить тип содержимого ответа в вашем PHP-коде. Если вы не можете понять, как изменить тип содержимого, или не хотите, используйте метод jQuery.get() и измените ТЕКСТ (не html) элемента #Code на $("#Code).text(yourResponse);

Вы также можете попробовать получить доступ к xhr.responseText, чтобы просмотреть весь ответ. Это всегда бесценный инструмент для определения того, что происходит не так:

 $.ajaxSetup ({
error: function(x, e){

        alert("The Response:"   x.responseText);

});