Вы неправильно понимаете, как работает метод $.ajax
с $("#oven").html(data)
внутри success
. Таким образом, вы не можете загрузить только новую HTML-страницу в соответствии с новым значением для windows.location
. Если вы загрузите страницу за $.ajax
, ни один из сценариев не будет запущен по крайней мере из-за причины безопасности . Более того, вы не можете просто установить всю страницу HTML включительно <html>
, <head>
<body>
и так далее внутри другой части страницы HTML. Таким образом, в отношении $.ajax
метода вы можете загрузить только фрагмент HTML, а не всю страницу HTML .
Так что вам следует переделать вашу программу и не использовать $.ajax
таким образом.
Еще одно замечание. Если вы даже видели что-то при загрузке oven.php
, на странице много ошибок . Вот только самые важные:
- Ваша страница должна начинаться с
<!DOCUMENT html ...>
оператора. Без оператора у вас есть HTML-страница в режиме quirks , который не поддерживается пользовательским интерфейсом jQuery или jqGrid. Вы должны включить строку вроде <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
(см. здесь ) или HTML5 <!DOCTYPE html>
- Нельзя включать одну и ту же реализацию одних и тех же функций или объектов более одного раза. Сначала вы вводите код
jquery-1.6.2.min.js
, затем jquery-1.4.2.min.js
. Это тяжелая ошибка. Вы включаете код jqGrid 3 раза (!!! ???) . См. jquery.jqGrid.min.js
, затем grid.base.js
до grid.jqueryui.js
, а затем еще раз jquery.jqGrid.min.js
. Вы не можете сделать это!
Остальной код, который определяет jqGrid, содержит некоторые ошибки и неоптимальный код (очень старый стиль кода).
- Вы должны заменить строку
var lastsel2 =
на var lastsel2;
, которая должна просто определить lastsel2
значением undefined
.
- использование
addRowData
после определение сетки не подходит. Это очень старый стиль. Гораздо лучше будет переместить определение mydata2
до создания jqGrid и использовать дополнительные параметры data: mydata2
и gridview: true
в сетке.