我正在处理一个应该将发布请求发送到执行某项计算的内部页面的应用程序
按下按钮时,页面(dashboard.php)会打印另一页的内容(calculate_salary.php)
到目前为止,这是我的js代码:
<script language="JavaScript" type="text/javascript">
function getXmlHttpRequestObject() {
return new XMLHttpRequest();
}
var receiveReq = getXmlHttpRequestObject();
function sayHello() {
if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
var start_date = $("#start_date").val();
var end_date = $("#end_date").val();
receiveReq.open("GET", 'calculate_salary.php', true);
receiveReq.onreadystatechange = handleSayHello;
receiveReq.send(null);
}
}
function handleSayHello() {
if (receiveReq.readyState == 4) {
document.getElementById('span_result').innerHTML = receiveReq.responseText;
}
}
</script>
我想将start_date和end_date中的值发送到calculate_salary.php页面
我将使用该计算页面执行一些sql语句并返回结果。
如何创建此请求? POST不是绝对必要的,我愿意使用其他技术(js,php)来完成工作
感谢
答案 0 :(得分:0)
您可以使用ajax
$.ajax({
url:"calculate_salary.php",
type:"POST",
data:{
start_date = $("#start_date").val(),
end_date = $("#end_date").val()
},
success:function(response){
$('#span_result').html(response);
}
});
答案 1 :(得分:0)
您必须使用url生成查询字符串,如下所示:
var url = 'calculate_salary.php?start_date='+start_date+'&end_date='+end_date;
receiveReq.open("POST", url, true);
因为您没有发送值,这就是您在服务器端没有收到值的原因。
您可以在此处找到另一个示例: How do I pass along variables with XMLHTTPRequest
同时检查: http://devzone.co.in/jquery-serialize-function-ajax-post-bigger-html-forms/