带参数的WebApi 404-通过javascript GET调用 - javascript

LocationsController中的WebApi方法:

public async Task<IHttpActionResult> GetLocations(int id, long start, long end)
{
return Ok();
}

我尝试拨打的电话(GET):

https://api.com/Locations/GetLocations/34934/1/1
https://api.com/Locations/GetLocations?34934&start=1&end=1

因此:

factHttp.httpRequest('/locations/GetLocations', 'GET', vm.ID + '/' + start.getTime() + '/' + now.getTime()).then(function (_result) {
                vm.plots = angular.fromJson(_result.data);
            });

var _httpRequest = function requestCall(requestPartURL, requestType, requestPayload) {

            var _resultHttp = $http({
                url: apiURL + requestPartURL,
                method: requestType,
                data: requestPayload,
                headers: {
                    'Authorization': 'Bearer ' + localStorage.getItem('ACCESS_TOKEN')
                }
            }).success(function (response) {
                console.log("HTTP CALL SUCCESS");
                return {
                    result: 'SUCCESS',
                    resultObj: response,
                    errorCode: '',
                    errorDesc: ''
                }

            }).error(function (response) {
                console.log("HTTP CALL FAIL");
                console.log(response);

                return getErrorObj(response);
            });

            return _resultHttp;

        }

路由:

config.Routes.MapHttpRoute(
            "IdentWithRange",
            "{controller}/{action}/{id}/{start}/{end}"
        );

如果我将Web api方法更改为仅接受(int id)并调用GetLocation / 34934,则效果很好。我在这里做错了什么?

我不断收到404错误。其中一些不是我自己编写的(即我不太擅长写JS的东西),但这是我第一次使用任何类型的api,我控制两端,但有点卡住了。

参考方案

您创建的路由记录将寻找以下路由

/api/controller/id/start/end

但您尝试传递参数,而不是指定路线。您不需要特殊的路由记录即可处理多个参数。使用“标准”路由记录就足够了。

config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new 
{ 
  id = RouteParameter.Optional, action = "DefaultAction" 
});

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

如何根据手势滚动网页 - javascript

如何使用pyhton / javascript使用手势向上/向下或向左/向右滚动页面。我尝试了很多找到解决方案,但无法解决。 参考方案 Javascript手势插件(JSHG)是一个很棒的插件,它使您可以通过现有网站或Web应用程序中的网络摄像头来支持用户的手势识别。您无需具有计算机视觉的任何背景即可使用此插件。当前,它提供了一组基本的手势,其中包括手的位置…

从一个脚本到另一个脚本的统一变量访问 - javascript

所以我有一个统一的3D文本上的文本网格脚本,我希望它从具有OnMouseDown函数的多维数据集中访问一个变量,在该函数内部它会更改分数,并且我希望将该分数输出到文本。当我在CS中编写文本脚本时,多维数据集脚本是用JavaScript编写的。谁有想法? 参考方案 如果我误解了您的问题,请纠正我。选项1:C#代码在js代码之前进行编译,这意味着您无权从c#代码…

在文本字段中键入时显示预制建议列表 - javascript

如标题所说我正在处理一个mysql项目,我希望该文本字段在键入它时向现有用户提供建议(管理员控制页以禁止用户..类似的东西)一个简单的例子来解释:当我输入文字时..我想给用户输入建议假设他正在输入颜色名称所以当他在其中输入b在他继续之前,会出现一个列表,向他提供我们预先设定的建议,例如:黑色棕色蓝色然后如果他输入l为bl该列表将是:黑色蓝色布拉布拉有什么建议…