Asp.Net MVC 的ContentResult 返回字符串,jquery.post的回调函数不接受,为什么?

后台用contentresult返回一个字符串“success”前台jquery.post的回调函数死活不接受但是返回“1234567”却能接收后台代码如下:[HttpP... 后台用contentresult 返回一个字符串“success”
前台jquery.post的回调函数死活不接受
但是返回“1234567”却能接收
后台代码如下:

[HttpPost]
public ContentResult DoSelect(string StudentId)
{
string result = "success";
return Content(result);//这样前台回调函数不能接受,若result=“1234567”却能
}
前台代码如下:

$.post('doselect', { StudentId: studentid }, function (response) {
if (response == 'success')
window.location = 'my';
else
alert(response);
}, "json");//接收不到response,但用chrome看到response了success
我怀疑是返回数据的类型问题,但是试过text/json,text/plain都不行!
有经验者帮助!
展开
 我来答
不想动重症患者
推荐于2018-01-02 · TA获得超过961个赞
知道小有建树答主
回答量:1048
采纳率:82%
帮助的人:373万
展开全部
因为你返回的是字符串"success",对于$.post来说,数据类型应该是html。但是你定的$.post数据类型是json。
要么把$.post最后的"json"去掉
要么return Json(new {result = "success"}),然后在$.post里面用response.result 获取返回值。
匿名用户
2017-12-31
展开全部
试著用console.log 直接将data内容show出来吧。我曾经看过回传的值是长"{\"id\":\"12345\"}"这种形式,正常应该是{"id":"123456"}的
既然请求和返回都没问题了,问题肯定是出现在客户端解析上面了,试用用ajax函数然后加个error函数绑定看看是抛出什么错误吧。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我们胡椒面
2018-09-14 · TA获得超过387个赞
知道答主
回答量:57
采纳率:81%
帮助的人:5.8万
展开全部
我今天也遇到了这个问题,需要返回一个json对象,下面这种设置text/json是不起作用的
return Content(res,"text/json")
应该
return Json(object,JsonRequestBehavior.AllowGet)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
格子控k25
2016-04-13 · TA获得超过107个赞
知道答主
回答量:122
采纳率:0%
帮助的人:141万
展开全部
把“json”去掉,变成默认的类型。post接不到,可以试一下get
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式