【发布时间】:2014-01-16 10:58:54
【问题描述】:
我想用 jquery 发送一个 get 请求,但 get 函数没有将查询字符串放在地址栏中。我尝试将 async 设置为 false,但它仍然不起作用。
$("#searchForm").submit(function (event) {
var x = $("#category").serialize();
$.get("Home/test", x, function (data) {
alert(data);
});
event.preventDefault();
});
上面的代码不像普通的get请求那样将查询字符串放在地址栏中。
因此我应该在浏览器地址栏中有类似 Home/Text/?category=laptop
例如
欢迎指定我可以在地址栏中放入哪些查询字符串的任何其他解决方案。
form id="searchForm" action="@Url.Action("Index")" method="get">
<input type="text" name="search" id="search />
<div id="price">
<input type="text" id="PriceMin" name="PriceMin" />
<input type="text" id="PriceMax" name="PriceMax" />
</div>
<input type="submit" value="submit"/>
</form>
作为一个例子,我不想在 url 查询字符串中
?search=volvo&PriceMin=&PriceMax=
换句话说,在获取请求时,不应将 null 的输入字段放在 url 中。
谢谢。
发现了一些东西,它的工作原理为什么我以前没想到这一点超出了我的理解
$("#searchForm").submit(function (event) {
if ($("#PriceMin").val() == "") { $("#PriceMin").prop("disabled", true); alert("isnull");}
});
如果在发送表单之前输入字段是“”,我将禁用该输入字段。因此“priceMin”的查询字符串不会发送,因为该元素已禁用。
【问题讨论】:
标签: asp.net-mvc