У меня есть страница, на которой я хочу показать пару таблиц MySQL.
Существует одна таблица справа, которая может меняться только при выборе другого человека.
Второй стол - это главный стол в центре. У меня есть раскрывающийся список с каждым человеком. Результаты от выбранного человека показаны в средней таблице. Для каждого человека есть несколько результатов, поэтому есть второй раскрывающийся список, чтобы выбрать, какой из этих результатов вы хотите показать. Все это делается с помощью запроса Ajax XMLHTTP.Ajax-запрос с Javascript
Проблема в том, что в правой таблице используется некоторый javascript. Я знаю, что это невозможно с Ajax в сочетании с XMLHTTP-запросом. Но без javascript я не могу сделать то, что хочу. Есть ли способ показать правильную таблицу после завершения работы javascript?
Я теперь использую рамки. Это не очень приятно. Потому что мне нужно стилизовать обе страницы, чтобы выглядеть хорошо вместе, и это не так просто, как сказано. Но так оно и делается, как я хочу.
Так что я искал в интернете (долгое время) и всего за несколько минут, прежде чем я хотел отказаться, я нашел этот кусок кода (приходя от http://www.javascriptkit.com/dhtmltutors/ajaxincludes.shtml):
function HttpRequest(url){
var pageRequest = false //variable to hold ajax object
/*@cc_on
@if (@_jscript_version >= 5)
try {
pageRequest = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try {
pageRequest = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e2){
pageRequest = false
}
}
@end
@*/
if (!pageRequest && typeof XMLHttpRequest != 'undefined')
pageRequest = new XMLHttpRequest()
if (pageRequest){ //if pageRequest is not false
pageRequest.open('GET', url, false) //get page synchronously
pageRequest.send(null)
embedpage(pageRequest)
}
}
function embedpage(request){
//if viewing page offline or the document was successfully retrieved online (status code=2000)
if (window.location.href.indexOf("http")==-1 || request.status==200)
document.write(request.responseText)
}
}
HttpRequest("external.htm") //include "external.htm" onto current page
Этот код работает отлично .. . Первый раз. Как только вы меняете человека, вся страница исчезает, и появляется только таблица, и firefox сохраняет «загрузку» страницы (вы видите, что круг крутится). Я знаю, как редактировать код выше, чтобы соответствовать моим потребностям, но я не понимаю Ajax или как исправить эту проблему. Надеюсь, кто-то может мне помочь и дать мне хорошее решение! И скажите, почему приведенный выше код работает неправильно?
Заранее благодарен!
Milaan
Ну, это был пример, который я использовал из Интернета, я думал, что моя версия, которая включает некоторые переменные, не имела никакого значения. Я знаю jQuery, но это лучше? Это проще? Я знаю некоторые основы, поэтому мне нужно было бы все узнать (включая Ajax?). – Milaan
@Milaan, я думаю, что было бы неплохо избавиться от фреймов (с jQuery или без него), и вы могли бы использовать самый простой запрос ajax, чтобы вывести вывод своих php-скриптов прямо там, где вы хотите, используя '.load() ': http://api.jquery.com/load/ – jeroen
Спасибо, jeroen! Это действительно лучший способ, чем мои кадры (я никогда не использую их самостоятельно, но это единственное решение). Должен ли я сделать средний стол также с помощью jQuery? Возможно, было бы лучше, если бы я сделал, правильно? – Milaan