ajaxphp跳转
Ⅰ 我用ajax向php页面发送数据,结果返回到html页面提交成功后页面刷新了
在使用Ajax向PHP页面发送数据时,如果遇到提交成功后页面自动刷新的问题,可以尝试将表单提交按钮的type属性从"submit"修改为"button",然后在按钮的onclick事件中编写Ajax方法来处理数据提交。这样可以避免页面因表单提交而自动刷新。
如果在使用Ajax提交数据后,发现页面中某些数据未发生变化,需要检查选择器是否正确。通常情况下,使用id选择器最为保险,因为它能唯一地定位到一个元素。如果需要使用class选择器,确保在选择器中添加了索引,例如:document.querySelector('.className').value。
在编写Ajax方法时,可以参考以下代码示例:
javascript
function sendAjaxData() {
var xhr = new XMLHttpRequest();
xhr.open("POST", "your_php_file.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send("data=" + encodeURIComponent(document.getElementById('inputId').value));
}
在这个示例中,`document.getElementById('inputId').value`获取了id为`inputId`的输入框的值,并通过`xhr.send()`方法发送给PHP文件处理。
确保在发送Ajax请求后,正确处理服务器返回的数据,以便更新页面上的相应内容。
总之,通过这种方式可以避免页面因表单提交而刷新,同时也能确保页面上的数据能够正确更新。
Ⅱ php如何获取jquery ajax传递过来的值
程序如下:
if ($_REQUEST['act'] == 'c**ignee_list')
{
/*
* 检查用户是否选择匿名购物
*/
if (isset($_REQUEST['direct_shopping']))
{
$_SESSION['direct_shopping'] = 1;
}/*
* 检查用户是否已经登录
* 如果用户已经登录了则检查是否有默认的收货地址
* 如果没有登录则跳转到登录和注册页面
*/
if (empty($_SESSION['direct_shopping']) && $_SESSION['user_id'] == 0)
{
/* 用户没有登录且没有选定匿名购物,转向到登录页面 */
$result['error'] = 1;
$result['message'] = '对不起,您没有登录或者您未选择匿名购物!';
echo $json->encode($result);
exit;
}
}
echo $json->encode($result);
$('#addr_modify').click(function(){
$.ajax({
type: "POST",
url: "flow_ajax.php?act=c**ignee_list",
cache: false,
data: "&m=" + Math.random(),
beforeSend:function(){$('#addr_modify').html('[获取中...]')},
success:function(data){
re = $.evalJSON(data);
alert(re.message);
if(re.error == 1)
{
alert(re.message);
window.location.href="flow.php?step=cart" + "&m=" + Math.random();
return;
}
else if(re.error == 2)
{
alert(re.message);
window.location.href="flow.php?step=c**ignee";
return;
}
$('#addr_modify').hide();
$('#addr_okbox').hide();
$('#addr_editbox').show();
// $('#addr_editbox').html(re.content_list);
// $('#addr_edit_table').html(re.content_table);
}
})
});