【发布时间】:2014-10-14 11:24:56
【问题描述】:
所以我遇到了与Django AJAX JSON response appears as raw text in browser 或Django-stripe-paymants and eldarion-ajax subscribe JSON response 类似的问题,但我找不到第二个对 jQuery 的引用,而且我也尝试了多个版本的 jQuery。他们的付款已处理完毕,网络挂钩看起来和他们一样。
到目前为止,我还没有得到任何帮助,但我可以通过以下任何方式解决我的问题:
- 使用 django-stripe-payments 的人的其他参考存储库
- 了解如何让 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