Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不等待响应的情况下执行jqueryajax post,模拟cronjob_Jquery_Ajax - Fatal编程技术网

在不等待响应的情况下执行jqueryajax post,模拟cronjob

在不等待响应的情况下执行jqueryajax post,模拟cronjob,jquery,ajax,Jquery,Ajax,我在一个WordPress插件中做了一些类似的工作,它完成了以下任务。当需要触发cronjob时,它会向碰巧访问的用户发送一段jquery代码。一旦脚本加载到前端,它就会向服务器发回一个post,其中包含需要执行的操作 现在,在服务器上启动的功能需要很长时间才能完成,这就是我这样做的原因。在PHP中,我有ignore\u user\u abort(true)因此用户是否关闭浏览器并不重要。如果由于某种原因,操作没有针对特定用户启动,我会有一些内置的回退 这非常有效,唯一的问题是,对于访问的特定用

我在一个WordPress插件中做了一些类似的工作,它完成了以下任务。当需要触发cronjob时,它会向碰巧访问的用户发送一段jquery代码。一旦脚本加载到前端,它就会向服务器发回一个post,其中包含需要执行的操作

现在,在服务器上启动的功能需要很长时间才能完成,这就是我这样做的原因。在PHP中,我有
ignore\u user\u abort(true)因此用户是否关闭浏览器并不重要。如果由于某种原因,操作没有针对特定用户启动,我会有一些内置的回退

这非常有效,唯一的问题是,对于访问的特定用户,浏览器会一直等待回复。有没有一种方法可以在服务器收到jQuery帖子后立即中断它


如果有人有更好的解决方案让我模仿cronjob,请告诉我。我不想依赖函数
exec()
pcntl\u form
wp cron
,因为它们经常被用户禁用。

也许你可以使用异步插件进行jQuery:

也许你可以使用异步插件进行jQuery:

我认为客户端实际上不会等待请求完成(如果您启用了async和其他功能,至少不应该这样做…)


但无论如何,如果仍然存在问题,您可以发送请求,然后在一两秒钟后使用
xhr.abort();
或类似的方法。

我认为客户机实际上不会等待请求完成(至少不应该,如果您启用了async和所有功能……)


但是无论如何,如果仍然存在问题,您可以发送请求,然后使用
xhr.abort()
或诸如此类,比如说,一两秒钟之后。

不,这正是我不想要的。这个插件以异步方式执行
长时间循环,以避免丢失浏览器响应。
我想放松响应。我只想发送帖子,不想等待回复。好吧,我不太理解你的问题好的。在这种情况下,你必须在服务器端完成,这样服务会生成一个新线程,然后立即返回。请看:,哈哈,现在你不明白问题的第二部分。阅读最后几行,我不想在服务器端生成新进程。它们有时在某些服务器上被禁用。无论如何,谢谢。不用了这正是我不想要的。这个插件以异步方式执行
长时间循环,以避免丢失浏览器响应。
我想失去响应。我只想发送帖子,不等待响应。好吧,我当时不太理解你的问题。那样的话,你必须在服务器上执行-让服务生成一个新线程,然后立即返回。请参阅:,LOL,现在您不明白问题的第二部分。阅读最后几行,我不想在服务器端生成新进程。有时在某些服务器上会禁用它们。无论如何,谢谢。客户端不等待请求是什么意思est是否要完成?它确实在等待,我是否做错了什么?您的意思是:
如果您启用了async和所有内容
,我该如何设置它。此外,我将测试xhr.abort,到目前为止,这听起来不错。在调用abort之前,有没有办法判断服务器是否已收到post。好的,我想我理解您的意思。是的async设置正常,浏览器不会在视觉上等待响应,但我可以在firebug中看到它在等待。连接保持活动状态。我只是不喜欢这样。好吧,唯一的解决办法是
xhr.abort()
或切断服务器端的连接。根据服务器配置,您可以生成一个后台进程/线程/执行实际工作的任何操作。我不认为“旋转”虽然客户端实际上很重要。好吧,但正如我所说的,我不想依赖于在服务器端生成一个新进程。如果我这样做的话,整个ajax功能就没有必要了,我可以在初始函数调用时spwan新进程。在我的服务器上,分叉是禁用的,我不想依赖任何这些方法ods。客户端不等待请求完成是什么意思?它确实在等待,我做错了什么吗?你是什么意思:
如果你开启了异步,所有的东西都是
,我该如何开启它。此外,我将测试xhr.abort,到目前为止这听起来不错。有没有办法告诉服务器之前是否收到了poste调用中止。好的,我想我理解你的意思。是的,异步设置好了,浏览器在视觉上不等待响应,但我可以看到它在firebug中等待。连接保持活动状态。我只是不喜欢这样。好的,唯一的解决办法是
xhr.abort()
或切断服务器端的连接。根据服务器配置,您可以生成一个后台进程/线程/执行实际工作的任何操作。我不认为“旋转”虽然客户端实际上很重要。好吧,但正如我所说的,我不想依赖于在服务器端生成一个新进程。如果我这样做的话,整个ajax功能就没有必要了,我可以在初始函数调用时spwan新进程。在我的服务器上,分叉是禁用的,我不想依赖任何这些方法消耗臭氧物质。