gpt4 book ai didi

javascript - 主干 - 更改默认的 GET URL 格式

转载 作者:行者123 更新时间:2023-11-30 16:22:24 25 4
gpt4 key购买 nike

休息:

我的 REST API 位于以下 URL 上:http://localhost/Project/index.php/rest/resource/car

这会运行一个标准的获取请求,以 JSON 格式返回表中的所有数据。但是,我的 REST API 也有以下内容:

http://localhost/Project/index.php/rest/resource/car/carId/2

它在使用时将仅返回 Car 的数据,carId = 2。

主干:

    this.mycar.fetch({
data: { 'carId': '1' },
success: function () { ...

在 backbone 中运行上述代码将创建并运行如下所示的请求:http://localhost:7070/Project/index.php/rest/resource/car?carId=1 ,它与我的 REST api 不兼容,那么我该如何更改它呢?

编辑:模型和集合:

var Car = Backbone.Model.extend({
urlRoot: ROOT + 'car',
idAttribute: 'carId'

});

var Cars = Backbone.Collection.extend({
model: Car,
url: ROOT + 'car',
})

最佳答案

data 属性是 jQuery $.ajaxdata 属性。对于 GET 请求,它用于设置查询参数。

您应该更新 .url模型的方法/属性。

直接将其设置为参数:

this.mycar.url = 'api_entry_point/car/' + car_id;

编辑:我刚刚注意到您将 carId 作为您网址中的资源。这是一个非常规的网址。这似乎就是为什么您的模型构造函数中有 idAttribute: 'carId' 的原因。 carId 不必位于 url 中。可能是:

http://localhost/Project/index.php/rest/resource/car/2

在上面的 url 中,2 是模型 ID。绝对没有必要在 url 中包含 carId。此外,由于资源包含多个项目,因此使用 cars 而不是 car 段更有意义。

http://localhost/Project/index.php/rest/resource/cars/2

当然这只是个人喜好。

关于javascript - 主干 - 更改默认的 GET URL 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34555533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com