javascript - 通过 PHP 参数将变量传递给 AJAX 函数

标签 javascript php jquery ajax

我试图通过ajax函数的参数传递4个变量,但由于某种原因它不接受它。我试图传递的变量是 url、action、id 和超时(以毫秒为单位)。如果有人知道我做错了什么,请纠正我。谢谢。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script type = "text/javascript"> 

function myAjax(url,action,id,timeout) {
      $.ajax({
           type: "POST",
           url: url,
           data:{action: action},
           error: function(xhr,status,error){alert(error);},
           success:function(data) {
             document.getElementById( id ).innerHTML = data;
             setTimeout(myAjax, timeout);
           }

      });

}

</script>

<body onload="myAjax('testing.php','call_this','my_div',2000)">

<div id="my_div"></div>

</body>

这是代码的工作版本,没有通过参数传递变量,而是将它们放在函数本身中:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script type = "text/javascript"> 

function myAjax() {
      $.ajax({
           type: "POST",
           url: 'testing.php',
           data:{action: 'call_this'},
           error: function(xhr,status,error){alert(error);},
           success:function(data) {
             document.getElementById( 'my_div' ).innerHTML = data;
             setTimeout(myAjax, 2000);
           }

      });

}

</script>

<body onload="myAjax()">

<div id="my_div"></div>

</body>

最佳答案

像这样重写 setTimeout() 调用:

setTimeout(function() { 
    myAjax(url,action,id,timeout); 
}, timeout);

关于javascript - 通过 PHP 参数将变量传递给 AJAX 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632927/

相关文章:

javascript - Jquery每次显示外部变量的值

javascript - html中如何让body和div元素之间没有空格

php - 使用 DOMDocument PHP 获取 Xpath 父节点?

php - 如何通过终端或其他方式将参数传递给 JavaScriptCore/Console?

php - 如何在 docker 的官方 php-fpm-alpine 镜像上安装 XDebug?

javascript - 无法重复使用元素对象?

javascript - 如何使用 JS 获取不同的值并对 JSON 的总数求和

javascript - 每次调用 JavaScript 函数时启动 CSS 动画?

javascript - 为什么我不能在 ng-click 调用 (AngularJS) 上使用 jQuery 语句?

javascript - 为什么 Unicode 表情符号属性会转义匹配数字?