【问题标题】:$.ajax anonymous function causing 500 error on Google App Engine$.ajax 匿名函数在 Google App Engine 上导致 500 错误
【发布时间】:2014-10-06 23:09:52
【问题描述】:

令人沮丧的是,GoogleAppLauncher 无法复制此错误,并且该错误仅发生在生产环境中。本质上,我有一个将 json 提交给 mailchimp 的表单。 javascript出错了,我不知道为什么。如果您尝试提交表单,您会看到 500 错误 - https://v-sons.appspot.com/our-underwear/#subscribe

在服务器上看起来是Call to undefined function add_theme_support(),但控制台讲述了一个不同的故事(我不明白两者是否相关)。

在我的控制台中,jQuery 错误参考:

xhr.send( ( s.hasContent && s.data ) || null );

但是,如果深入挖掘,这个代码块的 $.ajax 匿名函数似乎存在问题:

jQuery.ajax({
    url: action,
    type: 'POST',
    data: $stickyForm.serialize(),
    success: function(data)
    {
      window.location.hash = 'nearly';
      $('#modalOverlay').addClass('nearly').fadeIn();
      $('#stickyEmail').val("");
      $('#nickName').focus();
    }
});

我已尝试尽可能多地对此进行介绍,因为老实说,我不确定问题出在哪里。得到答案/一些帮助真的很棒,因为我已经敲了几个小时试图解决这个问题。主要问题是这不是我本地服务器的问题,不知道从什么端来解决问题。

//

更新:我刚刚想到,这个错误可能是通过发布我在社区提出的其他相关问题上使用的其他修复程序造成的 - 500 Error when Migrating Wordpress to Google Cloud

【问题讨论】:

  • Error 500 (Internal Server Error) 说明问题可能出在服务器端,与$.ajax函数无关,因为请求发送成功然后失败了。
  • 好吧,这是有道理的@Mihail。您认为问题可能出在哪里?与 App Engine 日志中的错误有关 - Call to undefined function add_theme_support()?
  • 看起来您使用的是我不太熟悉的 PHP,但快速谷歌搜索显示add_theme_support 问题可能与 wordpress 主题的问题以及它们没有正确安装有关。无论如何,不​​要在这里显示 JS 代码,这很好,你最好显示一些后端代码。

标签: javascript jquery ajax google-app-engine


【解决方案1】:

参见AJAX Mailchimp signup form integration,它建议添加dataType: 'json' 并设置contentType

【讨论】:

  • 感谢您提供此参考@Dave。我已经尝试过你的建议,但没有奏效。我实际上使用的是自定义 subscribe.php 脚本,而不是通常的 list-manage 帖子。使用此功能后,注册表单在 localhost 上什么也不做(以前可以正常工作),但在 prod 上显示相同的错误。
  • 嘿戴夫,我昨天晚上花了很多时间来摆脱错误的脚本并使用您在此处概述的答案。在我使用一些无法正常工作的 subscribe.php 脚本之前。现在,我刚刚集成了您建议的表单,并且可以正常工作!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-04
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多