如何在点击时使用ajax将不同的id传递给不同的php文件,以便可以在那里用于mysql查询。 我已经使用过会话但是因为我正在使用while语句来创建分区,所以在使用会话时它只传递最后一个div的值 那么ajax可以做任何可行的方法吗?
答案 0 :(得分:0)
$("button").click(function(){
var yourid = "some id";
$.post("your_file.php", {data: yourid}, function(result){
$("span").html(result);
});
});
下次尝试一些谷歌... http://www.w3schools.com/jquery/ajax_post.asp
答案 1 :(得分:0)
使用jQuery
$.ajax({
type:"POST",
url:"r_pdf_BioChem.php?q="+<?php echo $PHPVAR1 ?>+"&q1="+<?php echo $PHPVAR2;?>
.
.
或 在ONCLICK函数中传递HTML元素的值
for JAVASCRIPT
HTML
<input type='button' name='btn1' id='btn1' value='Proceed' onclick='onclick_fun_for_ajax(ele1.value,ele2.value);'>
JAVASCRIPT
function onclick_fun_for_ajax(nmbr,year)
{
xmlHttp=GetXmlHttpObject();
if ( xmlHttp == null )
{
alert ("Browser does not support HTTP Request");
return;
}
var url="target_php.php";
url=url+"?q="+nmbr;
url=url+"&q1="+year;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
var zdivid="fetched_result";
if ( xmlHttp.readyState==4 || xmlHttp.readyState=="complete" )
{
document.getElementById(zdivid).innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
//Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
答案 2 :(得分:0)
像这样:
// Init click event
$('#your_button').click(function(e) {
e.preventDefault();
save(); // Function that sends the ajax request
});
function save() {
var myvar1 = $('div#select_your_datas'),
myvar2 = $('div#select_your_datas2');
$.ajax({
url: 'path/to/php.php', // File that does sql stuff
type: 'POST',
data: { myvar1: myvar1, // Before colon is the object property. After the colon is the value
myvar2: myvar2
},
success:function(dataFromAjaxResponse, typeFromAjaxResponse) {
alert('ajax success');
},
error: function(dataFromAjaxResponse) {
alert('ajax error');
console.log(dataFromAjaxResponse);
}
});
}
<?php
$myvar1 = $_POST['myvar1'];
$myvar2 = $_POST['myvar2'];
// Do your SQL stuff
答案 3 :(得分:0)
基本上,你想要的是一个处理请求的PHP脚本。像这样:
// Search.php
$id = ( isset( $_GET['id'] ) ? $_GET['id'] : null );
$response = array();
if( !is_null( $id ) && is_numeric( $id ) )
{
$query = $db->prepare('SELECT * FROM users WHERE id = :id');
$query->execute( array( "id" => $id ) );
$response["Error"] = false;
$response["Users"] = $query->fetchAll();
} else {
$response["Error"] = true;
$response["Message"] = "No Id specified or id not numeric.";
}
print json_encode( $response );
在您希望使用ajax的客户端代码上,您需要一个表单和一个JavaScript方法来处理表单,并将其异步发送到Search.php脚本。一个例子可能是
// SearchForm.php
<form>
<input type="text" id="IdInput" /> <input type="button" id="searchButton" />
</form>
<script type="text/javascript">
$(function()
{
$('#searchButton').click(function()
{
var query = $('#IdInput').val();
$.getJSON('/Search.php?id=' + query, function(response)
{
if( response.Error == false )
{
console.log( response.Users );
} else {
alert( response.Message );
}
});
});
});
</script>