【问题标题】:Django-Stripe-Payments dumps Json to browser on postDjango-Stripe-Payments 在发布时将 Json 转储到浏览器
【发布时间】:2014-10-14 11:24:56
【问题描述】:

所以我遇到了与Django AJAX JSON response appears as raw text in browserDjango-stripe-paymants and eldarion-ajax subscribe JSON response 类似的问题,但我找不到第二个对 jQuery 的引用,而且我也尝试了多个版本的 jQuery。他们的付款已处理完毕,网络挂钩看起来和他们一样。

到目前为止,我还没有得到任何帮助,但我可以通过以下任何方式解决我的问题:

  1. 使用 django-stripe-payments 的人的其他参考存储库
  2. 了解如何让 django-stripe-payments 正常工作,因为到目前为止需求页面还不够。

我已经创建了库存版本 django-stripe-payments 工作所需的基本基本版本,但问题仍然存在。

我创建了一个 virtualenv 并 pip 安装了 django,然后是 django-stripe-payments 和 django-forms-bootstrap。这些安装包括 django-jsonfield 和 stripe。所以 pip 显示我有以下内容

Django==1.6.5
argparse==1.2.1
django-forms-bootstrap==3.0.0
django-jsonfield==0.9.13
django-stripe-payments==2.0b34
pytz==2014.4
requests==2.3.0
stripe==1.19.0
wsgiref==0.1.2

我的 site_base.html 是

<script src="/static/js/jquery-1.9.1.min.js"></script>
<script src="//checkout.stripe.com/v2/checkout.js"></script> 

<script>
$(function() {
    $('body').on("click", '.change-card, .subscribe-form button[type=submit]', function(e) {
      e.preventDefault();
      var $form = $(this).closest("form"),
          token = function(res) {
            $form.find("input[name=stripe_token]").val(res.id);
            $form.trigger("submit");
          };

      StripeCheckout.open({
        key:         $form.data("stripe-key"),
        name:        'Payment Method',
        panelLabel:  'Add Payment Method',
        token:       token
      });

      return false;
    });
});
</script>

{% block title %}
{% endblock %}

{% block body %}
{% endblock %}

<script src="static/js/eldarion-ajax.min.js"></script>

当我尝试更改付款计划时,我得到了正确的 GET,但在帖子中我相信它没有与 jQuery 链接

[20/Aug/2014 20:06:33] "GET /payments/change/plan/ HTTP/1.1" 200 2063
[20/Aug/2014 20:06:33] "GET /payments/change/plan/static/js/eldarion-ajax.min.js HTTP/1.1" 404 4139
[20/Aug/2014 20:06:37] "POST /payments/a/change/plan/ HTTP/1.1" 200 1394

【问题讨论】:

  • 我现在很确定它与 django 管理员 docs.djangoproject.com/en/dev/ref/contrib/admin 有关,它说为了避免与用户提供的脚本或库发生冲突,Django 的 jQuery(版本 1.9.1)是命名空间的作为 django.jQuery。如果您想在您自己的管理 JavaScript 中使用 jQuery 而不包含第二个副本,您可以在更改列表上使用 django.jQuery 对象并添加/编辑视图。这可以解释为什么有人在使用 jqueery 1.11.1 而不是 1.9.1 时会发生冲突。但我不知道如何在知道这些信息的情况下进行修复。

标签: jquery python django stripe-payments eldarion-ajax


【解决方案1】:

这是因为它设计用于http://github.com/eldarion/eldarion-ajax(或您自己的 AJAX 处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多