jq中ajax的res是什么意思,关于jquery ajax中返回值的问题
已解决问题
收藏
关于jquery ajax中返回值的问题
80
[ 标签:jquery, ajax ]
conn.open();
我的星星页面
2009-10-25 11:52
JQuery Code:
$.ajax({
type: "POST",
url: "SourceCode/checkLoginInfo.aspx/checkGeneralUser",
data: "{userName:'" + $("#userName").val() + "',userPassword:'" + $("#userPassword").val() + "'}",
contentType: "application/JSON; charset=utf-8",
timeout: 1000,
dataType: "JSON",
error: function() { $("#message").html("错误") },
success: function(msg) { $("#message").html(msg);}
});C# Code:
public static string checkGeneralUser(string userName, string userPassword)
{
string msg;
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
string commStr = "select * from userInfo where userName = '" + userName + "'";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand comm = new SqlCommand(commStr, conn);
SqlDataReader dr = comm.ExecuteReader();
if (dr.Read())
{
if (dr["userPassword"].ToString().Trim() != userPassword)
{
msg = "密码错误!";
}
else
{
msg = "OK";
}
}
else
{
msg = "用户名错误!";
}
dr.Close();
conn.Close();
return msg;
}返回结果:{"d":"用户名错误!"},怎么不单单是我后台代码中返回的字符,为什么还有{}""..这些特殊符号!!
满意答案
好评率:100%
可以作为字符返回的。
你可以将提交的页面的所有网页代码删除。然后用 Response.Write("你想返回的字符");
这样客户端的ajax就只是收到你想返回的字符串了。
继续追问:
但是我是调用后台代码中的方法啊!怎么能将结果输出到页面上呢!还有,我不可能在一个页面中只写一个方法啊!
补充回答:
该答案是回答你对conn.open()的追问。
思路就是 让整个网页 = 你想返回的信息
呵呵
继续追问:
不是,我不想返回整个页面,我只想让她返回C#代码中的方法return出来的值!我现在是这个值我能接收到,但是他多出那些{}""这些特殊符号出来了!我C#代码中返回的是:用户名错误!,但是当succcess中的回调函数接收到的确是:{"d":"用户名错误!"}
补充回答:
1. Respone.Write就是将结果输出成页面内容,C#后台和前台是联系的。
2.如果不想一个页面只能写一个方法的话,那么就在这个方法里面,把return msg改为
Response.Write(msg);
Response.Flush();
Response.End();
继续追问:
无法在方法中调用Response对象
补充回答:
另一种方法就是在客户端解析json对象:
var obj = eval(msg);
var message = obj.d;
或者直接就msg.d也可以?
继续追问:
我也试了!!加了.d之后毛后不回来了!!
补充回答:
我的意思是,保持contentType: "application/JSON; charset=utf-8",和dataType: "JSON", 不变,按你原先的描述,返回的结果是{"d":"用户名错误!"}。
那么对于这个结果,你把它当作一个对象,然后取这个对象的属性d的值就行了。
就是我上面写的
var obj = eval(msg);
var message = obj.d;
只要你保证msg = {"d":"用户名错误!"} ; 那么message肯定是"用户名错误!"。 这个不应该有什么问题啊。
继续追问:
这是msg得结果
这是msg.d得结果返回是undefined
补充回答:
先使用
var obj = eval(msg);
alert(obj);
看看?
继续追问:
eval()不是将参数作为javascript代码来执行么?{"d":"用户名错误!"}这样一段代码,在javascript里面是执行不出效果来吧?
补充回答:
{"d":"用户名错误!"} 可能仅仅是一个字符串,因此,你对一个字符串使用msg.d当然是undefined。
但是你把这个字符串转为javascript对象的话,就可以使用.d属性了。
而将字符串转为javascript对象的方法就是使用eval。
继续追问:
我晕,我直接
var obj = eval({"d":"用户名错误!"});
alert(obj.d);能正确的返回了!
但是
var obj = eval(msg);
alert(obj.d);又没结果了!
我有测试了msg的值,直接alert(msg);返回的值也是{"d":"用户名错误!"},真是郁闷!
补充回答:
你的写法错误。({"d":"用户名错误!"} 本身就是一个对象了,不需要加上eval来处理。应该在它外面加上' '才是字符串。我刚才试验了一下,变成字符串后不知道为什么eval失败了。不过我们可以用另一个函数JSON.parse来完成同样的工作。
var msg = '{"d":"用户名错误!"}';
var obj = JSON.parse(msg);
alert(obj.d);
该代码在我本机已测试通过。
继续追问:
哈哈!哥们!行了!!非常感谢!
补充回答:
eval失败的问题我弄明白了。正确的写法应该是:
var obj = eval( "(" + msg + ")" );
必须把字符串整个用()括起来,这样才保证不会因为字符串里带了"",{ } , []这些符号而失败。
您已经评价过!
您已经评价过!
您已经评价过!
您已经评价过!
conn.open();的感言:
哈哈!非常感谢
收藏
分享到:
更好的回答
其他答案(2)
因为你设置了contentType: "application/JSON; charset=utf-8",和dataType: "JSON",
所以它会把返回的对象做json对象处理
你去掉这两行,就是字符串了
就不会有json对象中的{}等符号了
继续追问:
作为字符返回的话,整个网页都返回来了!- -!
补充回答:
嗯,这个有两种解决方案
第一:就是删除页面中html标签,只留头信息
第二:就是在response.write();后面加上response.end();代码
您已经评价过!
您已经评价过!
把dataType: "JSON", 改成 dataType: "html", 试试~
继续追问:
没用!!上面说的我都试过了!
您已经评价过!
您已经评价过!
jq中ajax的res是什么意思,关于jquery ajax中返回值的问题相关推荐
- 反射 -- 业务需求:执行某个类中全部的以test为开头的无参数无返回值的非静态方法。...
package demo; //业务需求:执行某个类中全部的以test为开头的无参数无返回值的非静态方法. import java.lang.reflect.Method; import java.u ...
- $.ajax datatype默认是什么类型,理解jquery ajax中的datatype属性选项值
jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字 ...
- mvc ajax提交多选,javascript – 如何使用Jquery AJAX调用MVC Action然后在MVC中提交表单?...
在我的MVC视图我有按钮: 当我点击这个按钮我需要调用一个动作,做一些东西,然后提交我的表单. 我有这个jQuery: $('#btnSave').click(function () { $.ajax ...
- ajax jquery return没有返回值
错误写法: function editdivisionmember(division_id,users_id){$.ajax({type:"POST",url:"/def ...
- ajax 更新页面变量,[Django 1.5] jQuery/Ajax 在Django使用 ,如何更新模板里里变量
最近希望实现一个页面局部刷新的功能,于是开始查阅ajax资料.幸好现在ajax很多功能都封装在jQuery这个库里面,我们可以很方便去调用.通过学习几个简单的小例子,可以实现简单的前端代码更新,还有重 ...
- ajax点击事件无法触发,解决jQuery Ajax动态新增节点无法触发点击事件的问题_婳祎_前端开发者...
在写ajax加载数据的时候发现,后面添加进来的demo节点元素,失去了之前的点击事件.为什么点击事件失效,我们该怎么去解决呢? 其实最简单的方法就是直接在标签中写οnclick="" ...
- ajax三种错误ie,ie下jquery ajax 80020101错误的解决方法
注意注释 删除这些注释就可以了 Windows下一个MySQL有些错误的解决方法 1.无论是什么提示.我们有一个直接看错误日志.由于它描述了最具体描述错误日志. 于MySQL安装文件夹中找到 my.i ...
- ajax拒绝访问,带CORS的IE9 jQuery AJAX返回“访问被拒绝”
带CORS的IE9 jQuery AJAX返回"访问被拒绝" 以下适用于IE以外的所有浏览器(我在IE 9中测试).jQuery.support.cors = true;... $ ...
- ajax调用ashx的方法,jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法
1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是&q ...
最新文章
- GitHub开源比Hadoop快至少10倍的物联网大数据平台
- 解题报告(五)组合计数(ACM / OI)超高质量题解
- 强化学习笔记4:强化学习分类
- Qt小游戏《2048》源码(含大量注释)
- consul之:ACL配置使用
- day18 面向对象
- DOS批处理高级教程精选(二)
- linux lvm界面,Linux使用入门教程之LVM
- Asp.net MVC - 使用PRG模式(附源码)
- HtmlDocument.ExecCommand() 方法
- 音视频入门-流媒体原理
- 新版微信文件夹路径FileStorage变成了MsgAttach
- 电子元器件识别(图解)
- 每天一本书 [2014/06/10-2014/07/10 ]
- 【区块链】使用 Fabric 测试网络
- 双目结构光系统论文阅读总结
- android lottie字体json,android:Lottie--让Android动画更优雅
- S7-PLCSIM Advanced V3.0下载仿真失败
- Uniapp uni-app学习与快速上手
- 团队Github作业--考研破壁机
热门文章
- java math pow_Java Math pow() 使用方法及示例
- 字符串大小写转换器(html+css+js)
- 计算机视觉及模式识别技术在农业领域的应用
- 如何选择“好公司”和“便宜的好公司”!股票量化分析工具QTYX-V2.2.0
- 信息系统监理师题库_2018年下半年上午-信息系统监理师-软考(考试真题及答案-完整版)...
- matlab养老保险问题,养老保险MATLAB程序.doc
- python 爬取图片
- WPF滚动条自动下拉实现
- java依赖注入inject_@inject依赖注入的过程
- python笔记(九):字符串str查询、大小写传唤、拆分、替换、切割