【发布时间】:2017-01-04 14:53:54
【问题描述】:
我试图在销售表格中选择产品后立即获得价格价值。有一个销售表格,其中包含价格、数量和产品字段。当用户选择产品时,该产品的价格应显示在价格输入框中。为此,我使用了ajax。
但我收到一个错误,即在 sales/price/2 中找不到 404 页面。什么时候 我在浏览器中输入该 url 我得到的结果为 {"price-pk": 2, “价格”:890.0}
代码
sales/views.py
def fetch_price(request, pk):
response = {}
product = get_object_or_404(Product, pk=pk)
print('product',product)
if request.method=='GET':
price = product.price
print('price',price)
response['price-pk'] = product.pk
response['price'] = price
json_data = json.dumps(response)
return HttpResponse(json_data, content_type='application/json')
sales/urls.py
url(r'^price/(?P<pk>\d+)$', views.fetch_price, name='fetch_price'),
add_sale.html
<script>
$('#id_product').on('change', function() {
price_id = $(this).val(); // if shoe is selected price_id value becomes 2 as pk of shoe is 2
console.log(price_id);
url = "/sale/price/"+price_id+"/";
$.ajax({
type:'GET',
url:url,
success: function(data){
console.log('price will be updated based on product selected');
$('#id_price').val(data.price);
}
})
});
</script>
【问题讨论】:
-
对不起,我不明白那个“东西”是什么?
-
查看您的 404。它显示 /sales/... 请注意单词末尾的 s。在您的代码中,您有 /sale/price。
标签: javascript python ajax django django-views