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);
}
})
});