[英]Call PHP function in ajax
我的問題如下:我有一個真正的簡單PHP文件,名為“ writeSettings2.php”,該文件具有:
<?php
$text=$_GET["text"];
setcookie("MG_FileTree_Opener_SelPath", $text);
?>
然后,我有我的PHP頁面,其中有一個名為“ makeChanges”的JavaScript函數,該函數在輸入類型Submit函數中調用,並獲取組合框選擇的值,並通過xmlhttp調用上述PHP函數,如下所示:
<input type="submit" id="choice" value="Escolher" name="Esc" onClick="makeChanges()">
和功能“ makeChanges”如下所示:
function makeChanges( )
{
var selObj = document.getElementById('opiniao');
var selIndex = selObj.selectedIndex;
var str = selObj.options[selIndex].text;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","writeSettings2.php?text="+str,true);
xmlhttp.send(null);
history.go(0);
}
基本上,我正在做的是使用客戶端上的JavaScript調用PHP函數來重寫客戶端cookie,然后刷新頁面以使PHP可以使用cookie上的新信息來重寫頁面。
這段代碼可以正常工作,但只可以使用2次! 例如,我的combox具有項目1和2。我將其加載為項目1。更改為項目2。更改為項目1。再次更改為項目2 ---- FAILS不再更改,它始終保持為1。
有什么建議么?
您的瀏覽器正在緩存ajax響應。 您需要向ajax請求中添加一個隨機值,或將no-cache標頭放在被調用的頁面中。 您可以像這樣更改javascript來修復它:
var str = selObj.options[selIndex].text+'&random='+(new Date()).getTime();
和/或使用以下php標頭:
header("Cache-control: no-cache");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.