首页 > 解决方案 > 使用 url 和查询参数进行 Ajax 调用

问题描述

我在烧瓶中有一个简单的端点,如下所示。

@ns.route ('/cars/<string:make>/<string:model>')

class CarClass (Resource):
    def get (self, make):
        year=request.args.get ('year', type=int)
        website=request.args.get ('website', type=path)
        # do something

需要考虑的要点如下

  1. 引入URL 参数以说明这些是强制性参数,并且顺序很重要
  2. QueryParameters引入说明有可选参数(无相关排序)
  3. 引入网站参数以说明正斜杠的复杂性和编码路径的需要

在进行 API 调用时,我想我可以通过数据部分传递查询参数,但我不得不手动创建 URL 并进行 ajax 调用,就像这样

url = `https://example.com/cars/${make}/${model}`

try
{
    data = await $.ajax({
    type: 'GET',
    url: url,
    data: JSON.stringify({
        year: year,
        website: website
    }),
    datatype: 'json',
    contentType: 'application/json; charset=utf-8'
    });
}

是否有传递 URL 参数的内置 Ajax 方式,或者我必须诉诸 URL 的这种字符串操作?

背景:我发现我的问题的大多数答案只是告诉编码器将参数放入一个对象并将其传递给数据,但是当我这样做时我得到一个404错误,因为 API 正在寻找/cars/<make>/<model>/cars

标签: javascriptajaxrestflask

解决方案


推荐阅读