.net 里的jquery ajax 回调函数 data.d为什么一直说d为空,或不是对象,

王广大的烦恼 2018-07-10 08:56:47
求大佬看看指导指导我,萌新一个
aspx中的代码
aspx.cs中的代码
当事件触发,ajax响应的时候
...全文
1033 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_23664739 2018-07-12
  • 打赏
  • 举报
回复
厉害了,大佬
王广大的烦恼 2018-07-12
  • 打赏
  • 举报
回复
在这里也谢谢大家
王广大的烦恼 2018-07-12
  • 打赏
  • 举报
回复
引用 32 楼 qq_35530849 的回复:
楼主弄出来了吗?
不然
我可以试试
谢谢你 ,已经解决了 浏览器兼容的问题
王广大的烦恼 2018-07-12
  • 打赏
  • 举报
回复
引用 38 楼 apple8160 的回复:
我在ie8下测试出你的错误了
跟ajax没关系 是jquery3.1里面的d报错,应该是不兼容导致的
你用jquery1.12 版本就可以了
不好意思昨天忙 没来得及回复 就是这个问题 谢谢 你
weixin_42679464 2018-07-12
  • 打赏
  • 举报
回复
return Json( new {d="错误"}); 这样写试试。
apple8160 2018-07-11
  • 打赏
  • 举报
回复
我在ie8下测试出你的错误了
跟ajax没关系 是jquery3.1里面的d报错,应该是不兼容导致的
你用jquery1.12 版本就可以了
qq_42671992 2018-07-11
  • 打赏
  • 举报
回复
alert(JSON.stringify(data));
编程有钱人了 2018-07-11
  • 打赏
  • 举报
回复
Response.End(); 是关键
编程有钱人了 2018-07-11
  • 打赏
  • 举报
回复
因为你服务器端输出的不是纯JSON格式,要这样做

protected void Page_Load(object sender, EventArgs e)
{

Response.Write("{\"d\":\"ok\"}");//;;类似这样的
Response.End();
}
维秀斯丢丢 2018-07-11
  • 打赏
  • 举报
回复
你返回的是字符串,js先把它转为json对象,再日弄他。
学习的麋鹿 2018-07-11
  • 打赏
  • 举报
回复
———————————————后台—————————————————
public void GET()
{
if (true)
{
response.Write("{\"msg\":\"成功!\",\"success\":true}");
return;
}
else
{
response.Write("{\"msg\":\"失败!\",\"success\":false}");
return;
}
}
———————————————前台—————————————————
$.ajax({
url: '../../Handler/GETHandler.ashx',
data: { action: "GET", ID: "123" },
type: "post",
datetype: "text",
success: function (data) {
var json = $.parseJSON(data);
if (json.success) {
$.messager.alert("提示", json.msg);
}
else {
$.messager.alert("提示", json.msg);
}
}
}, "json");
——————————————————————————————————
我这里后台是:void类型
前台将string转json:$.parseJSON(data);
不知道对你有木有帮助

Logerlink 2018-07-11
  • 打赏
  • 举报
回复

<!--使用ajax 判断密码是否正确 --!>
function checkPwd() {
var oldPwd = $("#oldPwd").val();
let data = {
'str': '我是',
'str2': 'xxx'
}
$.ajax({
type: "post",
url: "setPwd.aspx/checkOldPwd",
data: JSON.stringify(data),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (res) {
alert(res.d); // 注意这点后面要加个d才能获取字符串信息,至于为什么要加个d,你通过chrome看看返回的响应就知道了,O(∩_∩)O
},
error: function (err) {
alert(err);
}
});
}

顶部将表头文件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="setPwd.aspx.cs" %>
换成这个 CodeFile的路径自己写
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="~/textContent/20180710/setPwd.aspx.cs" Inherits="_0628.setPwd" %>

学习的麋鹿 2018-07-11
  • 打赏
  • 举报
回复
楼主弄出来了吗?
不然
我可以试试
王广大的烦恼 2018-07-11
  • 打赏
  • 举报
回复
引用 26 楼 apple8160 的回复:
[quote=引用 25 楼 qq_39938873 的回复:]
不行啦,弄不出来


你把aspxhtml代码贴出来[/quote]大哥 代码贴出来了麻烦看一下
  • 打赏
  • 举报
回复
浏览器原因,搞开发的推荐用谷歌,IE很多都会不兼容
王广大的烦恼 2018-07-10
  • 打赏
  • 举报
回复
引用 12 楼 hanjun0612 的回复:
[quote=引用 11 楼 qq_39938873 的回复:]
[quote=引用 10 楼 hanjun0612 的回复:]
或者这么写
alert(JSON.stringify(data));
还是 object 拿不到后台的那个值啊[/quote]
f12里查看 network的响应信息[/quote]
JSON
C d-E2EB1976-A,0|H,5|I,0
M []
正怒月神 版主 2018-07-10
  • 打赏
  • 举报
回复
引用 11 楼 qq_39938873 的回复:
[quote=引用 10 楼 hanjun0612 的回复:]
或者这么写
alert(JSON.stringify(data));
还是 object 拿不到后台的那个值啊[/quote]
f12里查看 network的响应信息
王广大的烦恼 2018-07-10
  • 打赏
  • 举报
回复
引用 10 楼 hanjun0612 的回复:
或者这么写
alert(JSON.stringify(data));
还是 object 拿不到后台的那个值啊
正怒月神 版主 2018-07-10
  • 打赏
  • 举报
回复
或者这么写
alert(JSON.stringify(data));
正怒月神 版主 2018-07-10
  • 打赏
  • 举报
回复
引用 7 楼 qq_39938873 的回复:
引用 6 楼 hanjun0612 的回复:
[quote=引用 5 楼 qq_39938873 的回复:]
[quote=引用 3 楼 hanjun0612 的回复:]
你先打印data出来看一下格式
怎么打印,求大佬教一下

alert(data)也可以
console.log(data),浏览器f12,查看console,也可以。[/quote]
[object Object][/quote]
f12里查看 network的响应信息
加载更多回复(23)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧