Нет ничего плохого в этом блоке кода, поэтому
проблема должна быть в другом месте. При работе на AJAX, если что-то
не работает правильно, вот набор шагов, которые я обычно предпринимаю для
выяснить, где проблема. Многое это скорее
очевидно, но я обнаружил, что ничего не принимаю как должное и
систематическая проверка каждого в свою очередь, как правило, поможет мне
решить проблему быстро. Наконец, я буду вообще ссылаться
используя Firebug, потому что это мой инструмент выбора, но вы могли бы
выполнить большинство из них с помощью других инструментов так же легко.
Во-первых, при работе с кодом AJAX у меня всегда открыт Firebug.
Загрузите страницу и убедитесь, что нет синтаксиса JavaScript
ошибки на самой странице, которые могут мешать обработчикам событий
от проводки и т. д.
Далее я бы изменил код, который вы дали, чтобы он был следующим:
alert('Running AJAX request');
$.ajax({
url: 'directory/file.php',
type: 'POST',
data: 'param1=' + param1 + '¶m2=' + param2,
success: function(response){
alert('Response received: ' + response);
$('#content').html(response);
alert('Document modified.');
},
error: function(req) {
alert('Error: ' + req.status);
}
});
Теперь, когда вы запускаете запрос AJAX, вы должны получить много
информация, которая скажет вам, где в процессе чего-то есть
споткнулся.
Если вы не видите «Выполнение AJAX-запроса», проверьте обработчики событий
которые должны вызывать ваш запрос. Если ты видишь
«Ошибка:», затем убедитесь, что URL-адрес запроса был таким, как вы ожидали
и что ручной просмотр этого URL дает ожидаемый результат.
Если вы видите «Ответ получен:», но текст ответа не
что вы ожидаете, снова попробуйте перейти на страницу вручную в вашем
браузер. Если есть разница между тем, что вы видите в
браузер и то, что видит запрос AJAX, используйте сеть Firebug
вкладка, чтобы проверить различия между параметрами вашего браузера
и запрос AJAX отправляется (например, возможно, вам нужно добавить
идентификатор сеанса в запросе AJAX).
Если все это работает, но модификация документа - нет
произойдет, как и ожидалось, затем используйте вкладку DOM Firebug, чтобы убедиться, что
идентификаторы документов совпадают между DOM и сценарием, и
проверить DOM, чтобы увидеть, какие изменения на самом деле происходят как
результат вашей строки $ ('# content'). html (response).