2010-07-29 152 views
0

我有这样的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; 
    }); 
}); 

此优惠是否任何线索?谢谢

+0

戴夫 - 我做了这个测试在一个小的测试应用程序与jQuery 1.4.2它完美地工作。它可能与正在使用的版本和/或与原型的冲突有关。你可能必须将$ .get函数别名到jQuery.get(我认为这是语法) – 2010-07-29 10:49:20

+0

谢谢jim ..我也在另一个项目中做了一个测试,它工作。我现在是Prototype的敌人!我会给你的别名一个镜头的建议。 – DaveDev 2010-07-29 10:54:07

回答

0

你用firebug调试了get参数吗? 查看您通过ajax发送的参数。

如果没有解决,请告诉我。

+0

我用一些可能会对成功产生影响的观点更新了消息。 – DaveDev 2010-07-29 10:47:44

+0

...顺便说一句 - 我检查与萤火虫,我可以看到'?searchExpression = schroders'正在发送URL – DaveDev 2010-07-29 10:48:29

0

戴夫 - 可能是你需要明确装饰作用 - 即:

[AcceptVerbs(HttpVerbs.Get)] 

,以确保它不是寻找一个PUT/POST请求等。我以前想知道的“HTML”部分,但这只会与返回类型有关。

见注释以上 - 但把它放在了答案:

戴夫 - 我做了这个测试中使用jQuery 1.4.2一个小的测试应用程序,它完美地工作。它可能与正在使用的版本和/或与原型的冲突有关。您可能需要别名$不用彷徨功能jQuery.get(我认为这是语法)

看到http://docs.jquery.com/Using_jQuery_with_Other_Libraries

吉姆

相关问题