jquery - 从 AJAX url 中删除可选参数
问题描述
我想让 ajax URL 动态化,我想要的是 forsub
和nbr
参数,如果它们等于All
或null
仅通过org_id
.
我该怎么做呢?
$.ajax({
type: "GET",
url: baseURL + "/submitform/get/" + org_id + "/" + sub + "/" + nbr,
success: function(res) {
parseJSON(res);
});
解决方案
为什么不做这样的事情?
let url_to_send = `${baseURL}/submitform/get/${org_id}`;
if (sub === 'ALL') { // or 'ALL' if you meant a string rather than some declared value
url_to_send += `/${sub}`
}
if (nbr === 'ALL') { // or 'ALL' if you meant a string rather than some declared value
url_to_sned += `/${nbr}`;
}
$.ajax({
type: "GET",
url: url_to_send,
success: function(res) {
parseJSON(res);
});
把它放在一个带有 nbr 和 sub 参数的函数中,或者你正在使用它,并且 url 将动态生成。这是我通常的做法
如果您使用的是 es6,您还可以使用模板字符串并将三元条件放入其中以在 ajax 调用中以这种方式生成您的 url:
$.ajax({
type: "GET",
url: `${baseURL}/submitform/get/${org_id}${(sub === 'ALL') ? `/${sub}` : ''}${(nbr === 'ALL') ? `/${nbr}` : ''}`,
success: function(res) {
parseJSON(res);
});
推荐阅读
- django - 在 Django 中将 InMemoryUploadedFile 保存到操作系统
- python-3.x - 如果输入的值错误,我将如何返回菜单?
- java - 如何在启动进程之前调用 java 类?
- javascript - $listeners 是只读的。$attrs 是只读错误
- node.js - 关于使用 AWS 和 NodeJs 的无服务器微服务项目的问题
- c# - 在 FormClosing 事件之前清除 Form 中的所有元素
- sitefinity - 在 sitefinity 中找不到 URL 为“/login”的站点地图节点
- kotlin - 是否可以执行正在进行的工作
- python - AttributeError: 'NoneType' 对象没有属性 'seek'
- angular - 如何让 Angular Schematics 运行“ng add”命令?