哪位大神知道她的番号能看一下这是什么字体?美图秀秀APP里的,谢谢!

jQuery中ajax方法参数详解以及ajax如何接收php后台响应的数组
&&&&&&&&&&&&&& jQuery中ajax方法参数详解以及ajax如何接收php后台响应的数组
一、jQuery 中ajax
方法参数详解
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和
delete也可以使用,但仅部分浏览器支持。
要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设
async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。
如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等
待请求完成才可以执行。
cache:要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false)。
设置为false将不会从浏览器缓存中加载请求信息。
要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看processData选项。对象必须为key/value格
式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。
& 2种格式 : {foo1:"bar1",foo2:"bar2"}
参数名1=参数值1&参数名2=参数值2
要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。
可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求
&&&&&&&&&&&&&&&&&
时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个
&&&&&&&&&&&&&&&
“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。
二、如何在ajax中接收php后台响应的数组
(1)ajax 从php后台接收传递的数组 ,php 后台将要返回的数组json_encode
(2)前台ajax 处理php 后台响应数组有2中处理方式,如下介绍。注意 dataType 属性和 eval的使用。
以下是php的处理:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。网页设计教程与开发
提供各种常见网页效果
提供各种各样的设计教程
装扮QQ,让QQ变得更酷
设计参考,提高自升水平
学习服务器和操作系统
提供各种素材和工具
收藏学习资料
您现在的位置:&&>>&&>>&&>>&&>>&正文
jQuery Ajax Post 回调函数不执行问题的解决方法
今天在写一个检查用户名的功能时,使用的是jQuery.post( url, [data], [callback], [type] )这个函数,但是发现其中的回调函数不能执行。
先来看看我的代码:
前台代码:
&script type="text/javascript"&
function checkUser() {
var user = $('#&%=txtUser.ClientID %&').val();
$.post('checkUser.ashx', { Action: "Check", Name: user },
function (data) {
alert(data);
后台代码(checkUser.ashx):
public void ProcessRequest(HttpContext context)
context.Response.ContentType = "application/json";
string action = context.Request["Action"];
string user = context.Request["Name"];
string result = "{result: 0}";
switch (action)
case "Check":
if (us.isExists(user))
result = "{result: 1}";
context.Response.Write(result);
但是怎么也不执行回调函数中的alert(data)语句,经过单步跟踪,最后发现是返回的Json字符串有问题。
原来jquery中规定返回的JSON字符串的KEY要用引号括起来,如{"result": 1}这样才可以。
下面再看下jquery Ajax 不执行回调函数success的原因
jquery Ajax 不执行回调函数success的原因:
type: "post",
contentType: "application/json",
url: basePath+"pages/Tongji/disposeAgree.action?cepingitem="+cepingitem+"&userrelation="+userrelation,
//data: {fenshu:8},
dataType: "json",
success: function (result) {
alert("操作成功");
error:function(response){
alert("error");
如上,因为设置了属性dataType:"json",故如果后台返回的不是正确的JSON字符串,那么永远不执行回调函数success,而只执行error函数。要么返回正确的JSON字符串,要么把dataType属性改为text
正确的返回JSON字符串如下:
pw.write("{\"name\":\"zs\"}");
pw.write("{\"name\":"+true+"}");
错误的例子:
pw.write("{‘name':‘zs'}");
以上所述是小编给大家介绍的jQuery Ajax Post 回调函数不执行问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家的支持!
转载请注明:破洛洛(谢谢合作)
上一篇文章: 下一篇文章:
网友评论:
[][][][][][][][][][]使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中
问题展示:
&问题解决:
最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法不认识最后返回的是给ajax的data,而是以为要去找这个页面所以并未找到!!
1 @RequestMapping("/queryAllDisease")
@ResponseBody
public PageInfo&Disease&
queryAllDisease(String productId, ModelMap model, int pageNo , int pageSize){
Product product =new Product();
product.setProductId(productId);
Criteria criteria = getCurrentSession().createCriteria(Disease.class);
criteria.add(Restrictions.eq("product", product));
return diseaseService.findQuery(criteria, pageNo, pageSize);
同样的,如果Controller中的方法执行完成之后 &不想返回前台,就此打住,则也需要加上@ResponseBody
因为即使方法返回值为void
spring也会按照前台请求过来的页面地址去找,找不到就会如下:
所以,在后台:【以下的代码依旧是 &按照前台department/addPosition.htmls继续找下去,如果想在此打住,不要再去前台了,添加注解】
1 @RequestMapping("addPosition")
public void addPosition(Position position){
position.setCreateDate(new Timestamp(System.currentTimeMillis()));
position.setUpdateDate(new Timestamp(System.currentTimeMillis()));
positionService.save(position);
更改之后如下:
1 @RequestMapping("addPosition")
@ResponseBody
public void addPosition(Position position){
position.setCreateDate(new Timestamp(System.currentTimeMillis()));
position.setUpdateDate(new Timestamp(System.currentTimeMillis()));
positionService.save(position);
在此基础上,又发现一种新的情况:
后台代码如下:
1 @RequestMapping("verifyFormula")
@ResponseBody
public void verifyFormula(String formula){
InfixInToSuffix is = new InfixInToSuffix();
String a = null;
if(is.userPattern(formula)){
a = is.toSuffix(formula);
} catch (Exception e) {
System.out.println("公式有问题");
1 @RequestMapping("verifyFormula")
@ResponseBody
public String verifyFormula(String formula){
InfixInToSuffix is = new InfixInToSuffix();
String a = null;
if(is.userPattern(formula)){
a = is.toSuffix(formula);
} catch (Exception e) {
System.out.println("公式有问题");
这两种情况,虽然前台js中使用ajax访问了后台,但是后台方法处理完
1.void没有返回值 &
2.虽然有返回值,但是String a =可能会直接将这个a返回,但是a初始化就是Null,也就是没有开辟实际的空间,这样也是返回不到ajax的回调函数中的!!!!!
多注意这两种情况!!
正确处理这种情况,应当:
@RequestMapping("verifyFormula")
@ResponseBody
public String verifyFormula(String formula){
InfixInToSuffix is = new InfixInToSuffix();
String a = "";
if(is.userPattern(formula)){
a = is.toSuffix(formula);
} catch (Exception e) {
System.out.println("公式有问题");
最起码的给String a = "";即可!!
阅读(...) 评论()}

我要回帖

更多关于 哪位大神有av网址 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信