jQuery $ .post在PHP foreach循环中 - php

我有一个表单,订阅者可以选择他们想接收的新闻通讯,然后AJAX表单会将结果发送到Exact Target,并将订阅者也添加到要添加订阅者的每个列表中。

我有一个PHP foreach循环设置来处理这个问题。

<?php foreach ($listNumbers as $item): ?>
            var xmlData = 'Ths is the ET API call';
            $.post('ET url for API call'+xmlData);      
        <?php endforeach; ?>    

循环运行后,用户将被发送到这样的“谢谢”页面。

$(document).ready(function() {
location.href = "thank you url";
});

一切正常..在大多数情况下。我正在使用文档准备就绪,因为我想给循环足够的时间来提交API调用。有没有一种方法可以检测$ .post函数何时完成?是否成功?然后向用户发送感谢页面?

我发现在代码有机会运行之前,位置href正在将一些用户发送到“谢谢”页面。

谢谢,
麦可

参考方案

http://api.jquery.com/jQuery.post/

有一个回调告诉您已完成

jQuery.post( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )

url-包含请求发送到的URL的字符串。
数据-与请求一起发送到服务器的映射或字符串。
success(data,textStatus,jqXHR)-如果请求成功,则执行一个回调函数。
dataType-服务器期望的数据类型。默认值:Intelligent Guess(xml,json,脚本,文本,html)。

示例脚本,尽管我强烈建议您编写一个新的服务器端调用,如果可以的话,您只能调用一次,但您需要跟踪所有请求已完成。

var xhrCount = <?= count($listNumbers) ?>;
<?php foreach ($listNumbers as $item): ?>
   var xmlData = 'Ths is the ET API call';
   $.post('ET url for API call'+xmlData, null, function() {
       xhrCount--;
       if (xhrCount === 0) {
           location.href = 'myurl'
       }
   });      
<?php endforeach; ?>  

不确定,您的count()可能出了什么问题,但是您可以自己计算。

var xhrCount = 0;
<?php foreach ($listNumbers as $item): ?>
   var xmlData = 'Ths is the ET API call';
   xhrCount++;
   $.post('ET url for API call'+xmlData, null, function() {
       xhrCount--;
       if (xhrCount === 0) {
           location.href = 'myurl'
       }
   });      
<?php endforeach; ?>  

jQuery PHP在函数中传递值与实时单击? - php

我正在尝试通过onclick传递一些值,这对我来说要快得多。但是我需要使用某种“实时”单击,并且正在查看.on()或.delegate()。但是,如果执行这些操作中的任何一个,则在followme()中传递这些值似乎很难。有没有我看不到的某种方法? <div class='btn btn-mini follow-btn' data-…

使用jQuery将值增加到attr - php

我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…

jQuery File Upload插件-空文件上传结果 - php

在过去的几天里,我一直在使用this插件进行自定义,并将其设置为可以完全按照我的站点要求工作。我在本地服务器上一切正常,没有错误/错误。但是,当我尝试将其上传到我的Plesk服务器时,没有文件显示在加载状态(即使目标文件夹中有图像),并且当我尝试上传im时,出现“空文件上传结果”错误。奇怪的是,即使显示了错误,文件上传似乎仍然起作用,并且相关的图像出现在文件…

jQuery移动HTTPS失败 - php

我正在尝试编写一个网站,该网站使用PHP协议切换来即时从HTTP和HTTPS切换,但是由于我现在已经在JQuery mobile中对网站进行编码,因此它似乎只是点击了“错误加载页面”,而从未加载过我的网站。是什么原因造成的? 参考方案 尽管本质上稍有不同,但此问题将帮助您解决问题:AJAX calls to untrusted (self-signed) H…

在访问另一页面后保留浏览器滚动位置 - php

我正在使用JS,JQuery和PHP,试图解决无限滚动问题。问题是,如果您在页面上滚动很长一段时间,并且用ajax加载了更多页面,然后单击链接转到新页面,那么在使用浏览器时如何自动转到旧页面中的同一位置新页面上的返回按钮?。新页面使用ajax滚动加载。 php参考方案 我想出的解决方案是在离开页面之前,将每个页面与相关数据一起存储。需要以下信息来保持滚动位置…