在 Ajax 环境中在 Wordpress 循环之间传递数据

发布于 2025-01-17 05:33:54 字数 775 浏览 0 评论 0原文

我有一个关于将数据从一个循环获取到另一个循环的 WordPress 策略问题。

如果我的想法很天真,请原谅我。

我的场景:

  1. 网站访问者(未登录)将数据输入到支持 ajax 的页面

  2. Ajax 将字段捕获信息发送回服务器

  3. 服务器通过 CURL 执行一些第 3 方(银行)API 调用并接收第 3 方 URL

  4. 服务器通过 Ajax 响应将第 3 方 URL 传递给客户端

  5. 客户端重定向到第 3 方 URL

  6. 第 3 方网站通过调用我网站上的专用页面来完成,例如。 https://mysite/banking-response

  7. 服务器处理响应。

我面临的问题是我需要在最后一步(7)中保留原始 Ajax 调用(2)中的一些数据 显然,步骤 (7) 位于不同的循环中。

我有一个临时解决方案,它使用固定的 option_name 将数据保存在 wp_options 中。

这是可行的,但是,我担心它不是线程安全的。如果多个访问者同时进入此过程,可能会变得混乱。所有用户都将尝试将其数据保存在单个数据库行中。

访客没有登录,所以我无法使用usermeta。

有没有公​​认的/正确的方法来做到这一点?

提前致谢,Jerry

我考虑使用修改后的 URL 查询字符串和 $_GET,但由于第 3 方重定向,我无法控制 URL 完成并将执行传递回我的服务器时。

I have a Wordpress strategy question regarding getting data from one Loop to another.

Please forgive me if it's naive.

My scenario:

  1. A website visitor (not logged in) enters data to an ajax enabled page

  2. Ajax send field capture info back to server

  3. Server performs some 3rd party (banking) API calls via CURL and receives a 3rd party URL

  4. Server passes 3rd party URL to client via Ajax response

  5. Client redirects to the 3rd party URL

  6. 3rd Party site completes with a call to a dedicated page on my site eg. https://mysite/banking-response

  7. Server processes the response.

The problem I have faced is that I need to retain some data from the original Ajax call (2) in the final step (7)
Clearly step (7) is in a different Loop.

I have an interim solution which saves the data in wp_options with a fixed option_name.

This works, however, I'm concerned that it is not thread-safe robust. If multiple visitors enter this process at the same time it could get messy. All users will attempt to save their data in a single DB row.

The visitor is not logged in, so I can't use usermeta.

Is there an accepted/correct way of doing this?

Thanks in advance, Jerry

I considered using a modified URL Query string and $_GET but due to the 3rd party redirect I have no control over the URL when it completes and passes execution back to my server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文