【问题标题】:sending increment value from jquery to php file with for loop help使用for循环帮助将增量值从jquery发送到php文件
【发布时间】:2011-08-15 22:01:50
【问题描述】:

我在 jquery 中有这个 for 循环

$(document).ready(function() {
        for(i=0; i<counter; i++)
        {
            dataCounter = i;
            $.ajax({
              url: 'file.php',
                dataType: 'json',
                data: dataCounter,
                error: function(){
                    alert('Error loading XML document');
                },
                success: function(data){
                    $("#contents").html(data);  
                }
            });
        }
});

然后我想将我的dataCounter作为变量引入file.php并让它每次都改变,这样我就可以在file.php中的mysql中获得不同的记录,我这样做对吗? php 部分会是什么样子?如果我有表单,我知道如何使用此方法将变量传递给 php 文件,但我没有可使用的 get 或 post 表单。另外,我的变量会发生变化。

有人可以帮助我吗?谢谢!

【问题讨论】:

    标签: php jquery ajax for-loop parameter-passing


    【解决方案1】:

    虽然我不建议在循环内运行 ajax 查询,但我愿意解释 $.ajax()data 选项。理想情况下,您将对象作为data 选项传递,然后由 jQuery 将其转换为查询字符串,其中每个对象属性名称是键,其值是值:

    data: {
      count: dataCounter
    }
    

    变成

    ?count=1
    

    如果datacounter等于1,则在ajax请求的查询字符串中。

    在 PHP 中,您可以通过 $_GET['count'] 访问它。

    【讨论】:

    • 谢谢,这很有道理。如果您不建议在循环内运行 ajax 查询,您能否给我一些关于我应该做什么的建议?谢谢
    • 为了避免用 http 请求冲击你的服务器,也许你可以运行循环来确定 dataCounter 将覆盖的范围,然后在 ajax 请求中发送该范围信息并让 PHP 在范围内循环. 编辑:这只是一个建议,我不知道你的全部情况是知道它是否可行。也许你的循环没有我想象的那么大,但它似乎有潜在的危险。
    • 是的,我只是要循环 5 个增量左右。最多可能 10 个
    【解决方案2】:

    data 需要是一个键值对,而不仅仅是一个值。尝试类似:(未测试)

    $.ajax({
                  url: 'file.php',
                    dataType: 'json',
                    data: ({dataCounter : dataCounter}),
                    error: function(){
                        alert('Error loading XML document');
                    },
                    success: function(data){
                        $("#contents").html(data);  
                    }
                });
    

    【讨论】:

    • +1 你打败了我。 :) 不过,就我个人而言,我不会把它包起来。
    猜你喜欢
    • 2011-04-20
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2018-12-21
    • 2019-08-28
    • 2021-11-10
    相关资源
    最近更新 更多