如何在不重新加载页面的情况下使用AJAX将表单值发送到php
how to send form values to php using AJAX without reloading page?
我有一个AJAX函数,它在服务器中启动PHP函数,而无需重新加载页面并发回生成的信息,但我还需要向该PHP脚本发送一个表单输入值。我该怎么做?
AJAX:
function sorting()
{
var ajax = getRequest();
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
{
document.getElementById('main').innerHTML = ajax.responseText;
}
}
document.getElementById('main').innerHTML = "<br/><img src=img/ajax-loader.gif><br/><br/>";
ajax.open("POST", "sorting.php", true);
ajax.send(null);
}
截断的HTML表单:
<form method="post" action="" name="dateform" id="dateform">
<select name="n_metai" id="n_metai" ><option value="1">1</option>...
</select>
<select name="n_menuo" id="n_menuo" ><option value="2">2</option>...
</select>
<input type="text" name="skaitliukas" id="skaitliukas" size="3" value="1" title="Mažiausias skambučių pasikartojimas">
<input type="checkbox" name="nuliniai" id="nuliniai" value="1" title="Rodyti tik su nulinėmis trukmėmis">
<button name="submit_button" onclick='sorting(); return false;'> Pateikti</button>
</form>
问题是这一行:
ajax.send(null);
如果要发送GET
请求,则不向send
调用传递任何内容(或null),但您正在传递POST
数据,因此必须将数据传递到那里
这样做的一个基本方法是:
var frm = document.getElementById('dateform'),
data = [];//empty array
for (var i=0;i<frm.elements.length;i++)
{
data.push(frm.elements[i].name + '=' + frm.elements[i].value);
}
ajax.send(data.join('&'));
您可以使用jQuery来实现这一点。
$.ajax({
type: "post", //methos
url: "yourpage.php", //where to post
data: { //parameters
n_metai: $('select[name="n_metai"] option:selected').val(),
skaitliukas: $('#skaitliukas').val()
//etc...
}
}).done(function(msg) {
alert( "Done: " + msg ); //display message box with replay
});
相关文章:
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- Ajax:只在元素存在的情况下调用Ajax
- (Ajax)在不重新加载内容的情况下登录页面url
- AJAX函数在没有警报的情况下无法工作
- 如何在不使用处理程序的情况下使用ajax将文件从客户端发送到服务器端
- 如何在没有表单提交、没有js、没有jquery和没有ajax的情况下将输入的文本框值存储到php变量中
- 如何在没有 Ajax 的情况下将图像拖放到 servlet
- 如何在没有JQuery的情况下,通过对服务器的基本ajax调用,根据浏览器上的用户活动保持服务器会话活动
- 通过位置栏更改查询字符串,AJAX加载的菜单不会't在没有硬刷新的情况下重新填充
- 如何在发送时不打开新页面的情况下使用php/ajax发送表单
- 在不执行ajax请求的情况下,使用jQuery读取HTTP标头以检查404
- 防止在没有ajax的情况下提交后重定向表单
- 如何在不使用AJAX刷新的情况下发送表单的数据
- 在以下情况下,如何使用AJAX实现删除功能
- 在没有表单的情况下通过AJAX上传图像
- 如何在没有Ajax的情况下将blob存储在表单中,并在单击提交时将其发送到服务器
- Ajax-函数在没有调用或单击的情况下启动
- 如何在没有 AJAX 的情况下调用上一页
- 在没有ajax的情况下将多个变量传递到引用页面的最佳方式