.ajax绑定到成功函数会重新排列参数

时间:2018-07-05 16:20:53

标签: javascript jquery ajax binding

我正在尝试使用bind访问带有ajax请求的外部变量。我在下面的代码片段中复制了我的问题。

我的ajax请求在for循环中,并且我试图将eid和pid绑定到成功函数,以便我可以在请求时访问它们的值。但是,这似乎已经弄乱了数据和状态,因为数据是“ myPid”,状态是我返回的数据的对象,尽管eid和pid似乎正确显示了。

jQuery .ajax规范说该函数的参数依次是结果,状态和xhr,这似乎是我的工作方式,然后添加了绑定eid和pid的步骤。

我想念什么吗?为什么我返回的数据绑定为状态?

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>

$(document).ready(function(){
    $("button").click(function(){
      var pid = 'myPid';
      var eids = [888, 999];
      for(var ind in eids) {
        let eid = eids[ind];
        $.ajax({
          url: "https://reqres.in/api/users?page=2", async: false,
          success: function(data, status) { 
            console.log("data:"+data);
            console.log("status:"+status);
            console.log("eid:"+eid);
            console.log("pid:"+pid);
          }.bind(eid, pid), 
          error: function(a, b, err) {
            console.log(err);
          }
        });
      }
    });
});
</script>
</head>
<body>

<div><h2>Let AJAX change this text</h2></div>

<button>Change Content</button>

</body>
</html>

0 个答案:

没有答案