2011-10-04 98 views
5

我有一个JSON结果的问题。当从jquery调用时,它将返回一个要保存的文件,而不是执行成功函数。 get jquery请求发生在document.ready函数中。MVC3控制器返回JsonFile

任何帮助,将不胜感激。

public ActionResult Locations() 
    { 
     LocationsModel lm = new LocationsModel(); 
     return Json(lm.getPins(), JsonRequestBehavior.AllowGet); 
    } 

我也曾尝试:

public JsonResult Locations() 
    { 
     LocationsModel lm = new LocationsModel(); 
     return Json(lm.getPins(), JsonRequestBehavior.AllowGet); 
    } 

了jQuery如下:

$.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: this.href, 
     data: "{}", 
     dataType: "json", 
     success: function (msg) { getPins_success(msg); }, 
     error: OnError 
    }); 

谢谢, 克里斯

编辑:

没关系这是一个咄。一旦我将json请求移动到控制器中的另一个动作并加载视图,它就完成了。现在我正在解析问题,但这是另一个问题。

+2

'AllowGet'和'type:“POST”'? –

回答

1

您应该改用getJson

对你来说会是:

$.getJSON(this.href, function (msg) { getPins_success(msg); }); 

这将让你解析返回数据为JSON。