我想使用jQuery 1.3.1在ASP.Net MVC RC2中创建一个简单的动作链接 - 类似这样:
<a href="#" onclick="AjaxTest1()">Tester</a>
使用AjaxTest1
函数:
function AjaxTest1() {
$.ajax({
url: "Home/Ajax1",
error: function(request, status, error) {
alert("error: " + status + ", " + "\n" +
error + ", " + request.responseText +
request.getAllResponseHeaders());
},
success: function(data, status) {
alert("Finally, it worked!");
},
type: "GET",
dataType: "text",
});
return false;
}
和控制器操作:
public ActionResult Ajax1()
{
return this.Content("Test Content");
}
我要做的就是返回一个简单的字符串 - 但总是调用“错误”回调,错误为parseerror
。 XmlHttpRequest中包含内容字符串“Test Content” - 因此正在调用控制器操作并返回正确的数据。我试图设置dataType(到“text”,“html”,“json”),在控制器中使用JsonResult类型,将返回的内容类型设置为“text / plain”,使用$ .get ,$ .getJson等......什么都行不通。我觉得我必须错过一些非常非常简单的东西 - 特别是因为谷歌没有帮助。想法?
答案 0 :(得分:5)
我无法相信我弄清楚了这一点 - jquery-1.3.1*vsdoc.js
中存在一个拼写错误(如果有人感兴趣的话,它会在jQuery.httpData
中 - 他们将输入参数定义为filter
,然后尝试将其引用为s
,这会引发异常)。奇怪的是,如果您使用非* vsdoc版本,则输入错误。
看起来他们用vsdocs发布了jQuery-1.3.2 - 它没有拼写错误。所以我想答案就是下载更新。 (jQuery Download Page)
我生命中有一天......希望这有助于某人。
答案 1 :(得分:1)
你是否在进入伟大的google虚空之旅中获得了这篇文章?
http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/
他还有很多关于asp.net和jquery交互的文章。
你尝试过POST而不是GETing吗?如下所示:http://weblogs.asp.net/scottgu/archive/2007/04/04/json-hijacking-and-how-asp-net-ajax-1-0-mitigates-these-attacks.aspx