我使用以下ajax脚本.
$.ajax({
dataType: 'json',
url: url,
data: tudispId,
type: "GET",
success: function (data) {
bindData(data);
$("#alert-placeholder").empty();
$('#alert-placeholder').removeClass('alert alert-danger');
},
error: function (xhr, textStatus, errorThrown) {
$('#alert-placeholder').addClass('alert alert-danger');
$('#alert-placeholder').html(errorThrown);
}
});
[Route("api/tudisp/Edit/{tudispId}")]
public IHttpActionResult Edit(int tudispId)
{
}
来自ajax的一般请求.
http://localhost:xxxxx/api/tudisp/Edit/?179
如何强制ajax不生成符号“?”通过id参数.
解决方法:
$.ajax({
dataType: 'json',
url: "http://localhost:xxxxx/api/tudisp/Edit/" + tudispId,
type: "GET",
success: function (data) {
bindData(data);
$("#alert-placeholder").empty();
$('#alert-placeholder').removeClass('alert alert-danger');
},
error: function (xhr, textStatus, errorThrown) {
$('#alert-placeholder').addClass('alert alert-danger');
$('#alert-placeholder').html(errorThrown);
}
});
GET参数会自动作为查询字符串附加到Url,如果这是您的应用程序期望的值,那么很好,但是当您按原样使用路由时,这不是很好.
但是,如果您想修改现有的Ajax请求,则可以使用预过滤.本示例修改了ajax调用的Url,将{variable}替换为数据对象中的给定值…
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
options.data = ""; // this removes the querystring
for (key in originalOptions.data) {
options.url = options.url.replace("{" + key + "}", originalOptions.data[key]);
}
});
$.ajax({
url: "http://localhost:xxxxx/api/tudisp/Edit/{tudispId}",
data: {
"tudispId": 179
}
});
如果您想使用类似的方法,那么我强烈建议您花一些时间使其变得更强大,但这只是如何执行所需操作的一个示例.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。