[英]How to call Ajax function recursively
我想知道如何遞歸調用Ajax函數。 我的ajax代碼是這樣的,
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var step='1';
$.ajax
(
{
url: 'test1.php',
data: {step: step},
success: function(output)
{
step=eval(output);
alert(step);
}
}
);
</script>
</head>
</html>
和PHP代碼是這樣的
<?php
function writeName()
{
echo "step=2";
}
function ReadName()
{
echo "In Read Name Function";
}
if(isset($_REQUEST['step']) && !empty($_REQUEST['step']))
{
$step = $_REQUEST['step'];
switch($step)
{
case '1' :
writeName();
break;
case '2' :
ReadName();
break;
default :
echo "Empty String";
}
}
?>
第一次調用此函數時,step變量的值等於1,而Function Write名稱將其修改為2。現在,我想調用Step變量值等於2的Ajax函數。這樣就調用了第二個php函數。
您可以創建一個函數來進行Ajax調用並接受該步驟作為參數:
function getStep(step) {
$.ajax
(
{
url: 'test1.php',
data: {step: step},
success: function(output)
{
step=parseInt(output);
alert(step);
if (step < 2) {
getStep(step);
}
}
}
);
}
您需要在服務器端PHP腳本中使用“ json_encode()”函數,而不是簡單的“ echo”。 Javascript中的“ eval()”方法嘗試運行返回的文本。
您應該在writeName()函數中編寫以下代碼:
echo json_encode(2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.