|
|
|
Как сделать jquery ajax ссылку, при нажатии посылался post-запрос к php-странице? Нужен готовый рабочий код.
p.s: читаю мануалы и не получается никак, вроде все правильно, но никак не получается. |
|
|
|
|
|
|
|
index.php
Код: |
<script>
$(document).ready(function(){
$("#loaddata").click(function(){
txtcontroller=$("#txtcontroller").val();
txtmodel=$("#txtmodel").val();
txtcontent=$("#txtcontent").val();
$.post("content.php",{ model:txtmodel, content: txtcontent, controller: txtcontroller },function(ajaxresult){
$("#postrequest").html(ajaxresult);
});
});
});
</script>
<div id="postrequest"></div>
Enter model: <input type="hidden" id="txtmodel" value="index"><br />
Enter content: <input type="hidden" id="txtcontent" value="index"><br />
Enter Controller: <input type="hidden" id="txtcontroller" value="index"><br />
<a href="#" id="loaddata">Главная</a>
<div id="postrequest"></div>
Enter model: <input type="hidden" id="txtmodel" value="reg"><br />
Enter content: <input type="hidden" id="txtcontent" value="reg"><br />
Enter Controller: <input type="hidden" id="txtcontroller" value="reg"><br />
<a href="#" id="loaddata">Регистрация</a>
|
и в файле content.php:
Код: |
всякие обработчики $_POST и пишем echo.
|
Почему работает только или ссылки "Главная" или "Регистрация" по отдельности? Т.е. если регистрация присутствует, то главная не работает, и наоборот. В общем, работает только одна ссылка из двух.
Посмотреть что я сделал и как это работает можно на http://market.board4site.ru |
|
|
|
|
|
Переписал код, сейчас нормально работают две кнопки:
Код: |
<script>
function loadXMLDoc() {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","content.php?controller=index",true);
xmlhttp.send();
}
</script>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Главная</button>
<div id="myDiv"></div>
<script>
function loadXMLDoc1() {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv1").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","content.php?controller=index&content=reg",true);
xmlhttp.send();
}
</script>
<h2>AJAX</h2>
<button type="button1" onclick="loadXMLDoc1()">Главная</button>
<div id="myDiv1"></div>
|
и в файле content.php:
Код: |
всякие обработчики $_POST и пишем echo.
|
Но теперь другая проблема нужно отображать контент в одном месте. |
|
|
|
|
|
Рабочий код меню, две кнопки:
Код: |
<script>
function loadXMLDoc(str) {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","content.php?content=" + str,true);
xmlhttp.send();
}
</script>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc('index')">Главная</button>
<button type="button" onclick="loadXMLDoc('reg')">Главная</button>
<div id="myDiv"></div>
|
и в файле content.php:
Код: |
всякие обработчики $_POST и пишем echo.
|
|
|
|
|
|
|
|
|