为什么这个简单的jQuery不起作用?
问题描述:
我有这样的jQuery的GET请求:为什么这个简单的jQuery不起作用?
$.get($(this).attr("href"), { "searchExpression": "schroders" }, function (result) {
// do stuff
}, "html");
它发送GET请求来这个动作方法:
public PartialViewResult Tabs(string searchExpression)
{
return PartialView(new SearchViewModel
{
PagedFunds = _fundService.GetFunds(searchExpression)
});
}
的$.get
请求发送到Tabs
方法的请求,但searchExpression
始终是一个空串。我已经完成了这之前,它的工作..有没有人有任何想法为什么数据没有被发送或模型绑定器不工作?
编辑:我刚刚发现正在使用的jQuery版本是1.2.6。此外,还有的网站上使用其他JS框架 - 原型,我认为 - 所以这是管理的兼容性问题的完整功能,我使用了GET,:
jQuery(document).ready(function ($) {
$('.ActionControl a').click(function() {
$.get($(this).attr("href"), { searchExpression: "schroders" }, function (result) {
// do stuff
}, "html");
return false;
});
});
此优惠是否任何线索?谢谢
答
戴夫 - 可能是你需要明确装饰作用 - 即:
[AcceptVerbs(HttpVerbs.Get)]
,以确保它不是寻找一个PUT/POST请求等。我以前想知道的“HTML”部分,但这只会与返回类型有关。
见注释以上 - 但把它放在了答案:
戴夫 - 我做了这个测试中使用jQuery 1.4.2一个小的测试应用程序,它完美地工作。它可能与正在使用的版本和/或与原型的冲突有关。您可能需要别名$不用彷徨功能jQuery.get(我认为这是语法)
看到http://docs.jquery.com/Using_jQuery_with_Other_Libraries
吉姆
戴夫 - 我做了这个测试在一个小的测试应用程序与jQuery 1.4.2它完美地工作。它可能与正在使用的版本和/或与原型的冲突有关。你可能必须将$ .get函数别名到jQuery.get(我认为这是语法) – 2010-07-29 10:49:20
谢谢jim ..我也在另一个项目中做了一个测试,它工作。我现在是Prototype的敌人!我会给你的别名一个镜头的建议。 – DaveDev 2010-07-29 10:54:07