如何正确地将数据从javascript(jQuery)应用程序发送到Rails后端(Heroku)?

塞莱里科

我正在开发一个JavaScript(jQuery)应用程序,该应用程序收集用户数据(姓名,性别,生日等)并将其发送给Heroku托管的Rails应用程序。Rails从请求中读取JSON,并应该创建一个新记录。我的代码如下

params = {};
params.session_user = {};

var e = {
    "username"    :    localStorage.getItem("UN"),
    "gender"      :    gender,
    "birthdate"   :    birthdate,
    "session_id"  :    getSessionID(),
};
params.session_user = e;
$.post("https://***.herokuapp.com/session_users", params);

该功能适用​​于Firefox,Chrome,Opera和IE,但不适用于Safari。Safari继续说POST请求已取消,并且在数据库上从未创建任何记录。

类似地,jQuery应用程序还在应用程序的每个页面上收集使用数据,称为focus_events。我使用了相同的格式

var e = {
    "timestamp"  : (new Date).toUTCString(),
    "focus_type" : type,
    "page"       : page_id,
    "problem_set": problem_set_id,
    "session_id" : getSessionID(),
  }
 params={};
 params.focus_event={};
 params.focus_event=e;
 $.post("https://***.herokuapp.com/focus_events",params);

这在大多数情况下都有效。但有时,在所有浏览器中,POST请求也会显示为已取消。与此问题和Saf​​ari问题有关的任何帮助将不胜感激

塞莱里科

我解决了这个问题。为后代在此处发布答案。$ .post()(这是ajax()的包装器)默认情况下异步发送请求。当我单击用户的下一页按钮时发送我的请求时,浏览器加载新页面时这些请求被切断。将我的$ .post(...)更改为

$.ajax({
    url    :    "https://***.herokuapp/controller_name",
    data   :    params,
    type   :    'POST';
    async  :    false,
});

工作精美。解决了Safari问题和focus_event问题。请注意,在同步发送时,并且取决于服务器的响应速度,您可能需要耐心等待并等待请求完成。在请求完成之前,浏览器将不会加载下一页。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更好的做法是在后端准备html或将数据从后端发送到前端应用程序

来自分类Dev

处理-如何将数据(通过websockets)发送到javascript应用程序

来自分类Dev

如何正确地将 javascript 库添加到我的 rails 应用程序中

来自分类Dev

如何正确地将数据从bash脚本传递到Java应用程序

来自分类Dev

如何正确地将数据从 Android 应用程序发布到 PHP?

来自分类Dev

如何正确地将CMFCMenuButton选定的ID发送到消息映射?

来自分类Dev

如何正确地将图像作为CKAsset发送到CloudKit?

来自分类Dev

如何正确地将CMFCMenuButton选定的ID发送到消息映射?

来自分类Dev

如何正确地将 JSON CURL 发送到 Slack?

来自分类Dev

如何从Android应用程序将UDP数据包发送到MAC地址?

来自分类Dev

如何将数据从通知发送到应用程序

来自分类Dev

如何将数据从Xamarin.Forms应用程序发送到Web API

来自分类Dev

如何通过HTTP(S)将数据发送到Android应用程序

来自分类Dev

如何通过前端应用程序中的OpenTelemetry将跟踪数据发送到Jaeger?

来自分类Dev

如何将数据窗口表单应用程序发送到网站

来自分类Dev

如何从Android应用程序将数据发送到SOAP Web服务?

来自分类Dev

如何将数据从通知发送到应用程序

来自分类Dev

如何从android studio中的android应用程序将数据发送到servlet?

来自分类Dev

如何触发应用程序将数据发送到我的服务器?

来自分类Dev

iOS-WatchKit如何将消息/数据从iPhone应用程序发送到WatchKit应用程序?

来自分类Dev

发布应用程序后如何将数据发送到客户端应用程序

来自分类Dev

发布应用程序后如何将数据发送到客户端应用程序

来自分类Dev

当应用程序被用户杀死时,如何从后端删除发送到 iPhone 的通知

来自分类Dev

将数据从备用应用程序发送到活动应用程序

来自分类Dev

如何将数据从Heroku上托管的Node.js应用程序发送到完全独立(Cpanel)服务器上托管的PHP文件?

来自分类Dev

通过curl / urllib2将JSON数据发送到Pyramid应用程序没有给出正确的请求。

来自分类Dev

尝试将表单数据发送到 Express 应用程序,无法正确解析为 req.body

来自分类Dev

使用jQuery ajax get将params中的数据发送到rails后端

来自分类Dev

如何正确地将排序后的模型从我的控制器发送到Laravel API资源集合?

Related 相关文章

  1. 1

    更好的做法是在后端准备html或将数据从后端发送到前端应用程序

  2. 2

    处理-如何将数据(通过websockets)发送到javascript应用程序

  3. 3

    如何正确地将 javascript 库添加到我的 rails 应用程序中

  4. 4

    如何正确地将数据从bash脚本传递到Java应用程序

  5. 5

    如何正确地将数据从 Android 应用程序发布到 PHP?

  6. 6

    如何正确地将CMFCMenuButton选定的ID发送到消息映射?

  7. 7

    如何正确地将图像作为CKAsset发送到CloudKit?

  8. 8

    如何正确地将CMFCMenuButton选定的ID发送到消息映射?

  9. 9

    如何正确地将 JSON CURL 发送到 Slack?

  10. 10

    如何从Android应用程序将UDP数据包发送到MAC地址?

  11. 11

    如何将数据从通知发送到应用程序

  12. 12

    如何将数据从Xamarin.Forms应用程序发送到Web API

  13. 13

    如何通过HTTP(S)将数据发送到Android应用程序

  14. 14

    如何通过前端应用程序中的OpenTelemetry将跟踪数据发送到Jaeger?

  15. 15

    如何将数据窗口表单应用程序发送到网站

  16. 16

    如何从Android应用程序将数据发送到SOAP Web服务?

  17. 17

    如何将数据从通知发送到应用程序

  18. 18

    如何从android studio中的android应用程序将数据发送到servlet?

  19. 19

    如何触发应用程序将数据发送到我的服务器?

  20. 20

    iOS-WatchKit如何将消息/数据从iPhone应用程序发送到WatchKit应用程序?

  21. 21

    发布应用程序后如何将数据发送到客户端应用程序

  22. 22

    发布应用程序后如何将数据发送到客户端应用程序

  23. 23

    当应用程序被用户杀死时,如何从后端删除发送到 iPhone 的通知

  24. 24

    将数据从备用应用程序发送到活动应用程序

  25. 25

    如何将数据从Heroku上托管的Node.js应用程序发送到完全独立(Cpanel)服务器上托管的PHP文件?

  26. 26

    通过curl / urllib2将JSON数据发送到Pyramid应用程序没有给出正确的请求。

  27. 27

    尝试将表单数据发送到 Express 应用程序,无法正确解析为 req.body

  28. 28

    使用jQuery ajax get将params中的数据发送到rails后端

  29. 29

    如何正确地将排序后的模型从我的控制器发送到Laravel API资源集合?

热门标签

归档