Javascript Web Api属性路由无法到达数据带有问号和符号的方法

Javascript Web Api属性路由无法到达数据带有问号和符号的方法,javascript,jquery,ajax,asp.net-web-api,asp.net-web-api2,Javascript,Jquery,Ajax,Asp.net Web Api,Asp.net Web Api2,我一直很喜欢WebAPI2属性路由,但我遇到了一个它不起作用的情况 javascript: var issueGetUri = '/GetIssue/?' + timestamp + '/'; $.ajax({ url: issueGetUri, type: 'Get', data: { id: qs["id"] }, success: function (data) { console.log(data); },

我一直很喜欢WebAPI2属性路由,但我遇到了一个它不起作用的情况

javascript:

var issueGetUri = '/GetIssue/?' + timestamp + '/';

  $.ajax({
     url: issueGetUri,
     type: 'Get',
     data: { id: qs["id"] },
     success: function (data) {
         console.log(data);
     },
     error: function () {
         console.log("something seems wrong");
     }
 });
基本上,url变成:

http://localhost:24039/GetIssue/?1444864586786/&id=VGAJEGLS3G
我最终得到了“似乎有什么不对劲”

WEB API

[Route("GetIssue/{time}/id/{id}")]
[ResponseType(typeof (IssuesModel))]
public async Task<IHttpActionResult> GetIssueId(string timestamp, string id)
{
  .....
}
[路由(“GetIssue/{time}/id/{id}”)]
[响应类型(类型(发布模型))]
公共异步任务GetIssueId(字符串时间戳,字符串id)
{
.....
}
我可以阻止jquery ajax调用放入&? 这就是问题所在吗

更新,好的,我修复了thx,帮助现在可以使用了!

var issueGetUri = notLocal + '/GetIssue/id/' + qs["id"] + '/time/' + timestamp;

[Route("GetIssue/id/{id}/time/{time}")]
[ResponseType(typeof (IssuesModel))]
public async Task<IHttpActionResult> GetIssueId(string id, string time)
{
  ....
}
var issueGetUri=notLocal+'/GetIssue/id/'+qs[“id”]+'/time/'+timestamp;
[路由(“GetIssue/id/{id}/time/{time}”)]
[响应类型(类型(发布模型))]
公共异步任务GetIssueId(字符串id,字符串时间)
{
....
}
我可以阻止jqueryajax调用进入吗?和&

所以不要把它们放在那里

//var issueGetUri='/GetIssue/?'+时间戳+'/';
//[路由(“GetIssue/{time}/id/{id}”)]
//                    °        °     °   °
//                    |         \    |   |--------------|
//                    |          \   |---------|        |
//v v v v
var issueGetUri='/GetIssue/'+timestamp+'/id/'+qs[“id”];
$.ajax({
网址:issueGetUri,
键入:“Get”,
//数据:{id:qs[“id”]},
成功:功能(数据){
控制台日志(数据);
},
错误:函数(){
log(“似乎有什么不对劲”);
}
});

好的,请看,但是如果我真的想让路由处理它呢?是否也可以让路由[(“GetIssue?{id}&time={time}”)]?我不明白!您选择了一条路由,然后使用它!您不能一次发送两条路径!或者可能是服务器端,您可以处理两条路由?我改成了这个,但它不起作用:[Route(“GetIssue/id”)/{id}/time/{time}“)]对不起,我认为这是服务器端的问题,我现在还没有掌握这方面的技能。thx,我不仅要修复jquery ajax,还要修复Web Api中的路由,以及需要匹配传入参数以匹配路由的方法……thx,你真的应该删除斜杠。”/“来自GetIssue。所以它应该是:'/GetIssue?'+timestamp+'/';如果您想向web api发送参数的话