如何递归调用Ajax函数

我想知道如何递归调用Ajax函数。
我的ajax代码是这样的,</ p> \ n

 &lt; html&gt; 
&lt; head&gt;
&lt; script type =“text / javascript”src =“jquery.js”&gt;&lt; / script&gt;
&lt; script type =“ text / javascript“&gt;
var step ='1';
$ .ajax

{
url:'test1.php',
data:{step:step},
success:function(output)
{
step = eval(output);
alert(step);
}
}
);

&lt; / script&gt;
&lt; / head&gt;

&lt; / html&gt;
</ code> </ pre>

php代码就像这样</ p>

 &lt;?php 
function writeName()
{
echo“step = 2”;
}
函数ReadName()
{
echo“在读取名称函数中”;
}
if(isset($ _ REQUEST [' step'])&amp;&amp;!empty($ _ REQUEST ['step']))
{
$ step = $ _REQUEST ['step'];
switch($ step)
{
case' 1':
writeName();
break;
case'2':
ReadName();
break;
default:
echo“Empty String”;

}
}
?&gt;
</ code> </ pre>

第一次调用此函数时,步长变量的值等于1,函数写入名称将其修改为 2.现在我想调用这个Ajax函数,Step变量值等于2.这样就可以调用第二个php函数。</ p>
</ div>

展开原文

原文

I want to know how to call Ajax function Recursively. My ajax code is like this,

<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>

And php code is like this

<?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";   
  }
 }
?>

first time this function is get called with value of step variable equal to 1 and Function Write name modified it as 2. Now i want to call this Ajax function with Step variable value equal to 2. So that 2nd php function gets called.

dongzouya5792
dongzouya5792 是的,我可以。谢谢。
大约 10 年之前 回复
dsam70528
dsam70528 旁白:如果你已经检查了empty(),你可以省略isset()。
大约 10 年之前 回复

2个回答



您可以创建一个函数来进行Ajax调用并接受该步骤作为参数:</ p>

  function getStep(step){
$ .ajax

{
url:'test1.php',
data:{step:step},
success:function(output)\ n {
step = parseInt(output);
alert(step);
if(step&lt; 2){
getStep(step);
}
}
}
);
}
</ code> </ pre>
</ div>

展开原文

原文

You can create a function that makes the Ajax call and accepts the step as an argument:

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”。
“eval ()“Javascript中的方法尝试运行返回的文本。</ p>

您应该在writeName()函数中写入以下代码:</ p>

   echo json_encode(2); 
</ code> </ pre>
</ div>

展开原文

原文

You need to use "json_encode()" function at the server-side PHP script instead of simple "echo". "eval()" method in the Javascript try to run returned text.

You should write in the writeName() function this code:

echo json_encode(2);

douben1891
douben1891 库兹涅佐夫:谢克斯。 我开始了解一个新概念。
大约 10 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问