#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);
});