ASP.NET WebForm Ajax请求Handler的经验
ajax代码
$.ajax({
type: "GET",
url: "/AjaxHandler/GetPluginCode.ashx",
data: "templateid=" + templateid + "&templatepath=<%=templatePath%>&shopgroupid=" + $("#hidShopGroupID").val(),
cache: false,
success: function (msg) {
var results = JSON.parse(msg);
if (results.Key == "success") {
var result = results.Value;
}
}
})
原则:利用对象来判断返回结果的状态(以前用字符串分割来处理,会有问题)
Handler代码
定义输出对象
public class JsonObj
{
public string Key { get; set; }
public string Value { get; set; }
}
初始化结果变量
JsonObj _result = new JsonObj() { Key = "failure", Value = string.Empty };
修改结果状态
try
{
//逻辑代码
_result.Key = "success";
_result.Value = “htmlCode”;
}
异常捕获
catch (Exception ex)
{
_result.Value = ex.Message;
}
最后序列化输出
JavaScriptSerializer se = new JavaScriptSerializer();
context.Response.Write(se.Serialize(_result));
原则:无论如何必须有输出,也就是要有客户端收到结果才能判断请求状态
ASP.NET WebForm Ajax请求Handler的经验的更多相关文章
- asp.net接收ajax请求参数时为空的现象
如题,如果使用ajax请求asp.net后台时,如果使用jquery时,默认是添加了请求头,使后台能识别,并能通过Request对象进行获取. 但是如果你使用的是window.XMLHttpReque ...
- ASP.NET 让ajax请求webform后台方法
$.ajax({ type: "POST", url: ".aspx/getSubjectDirection", data: JSON.stringify({ ...
- ASP.NET MVC AJAX 请求中加入 antiforgerytoken 解决“所需的防伪表单字段“__RequestVerificationToken”不存在”问题
在ASP.NET mvc中如果在表中使用了@Html.AntiForgeryToken(),ajax post不会请求成功 解决方法是在ajax中加入__RequestVerificationToke ...
- asp.net MVC ajax 请求参数前台加密后台解密
最近有一个需求要求页面查询数据库,查询内容保存到excel里面作为附件加密打包下载.查询的sql作为参数传入后台,实现加密提交.这里做个记录,后面用到直接来拿. 控制器 public ActionRe ...
- ASP.NET中HttpApplication中ProcessRequest方法中运行的事件顺序;ASP.NET WebForm和MVC总体请求流程图
ASP.NET中HttpApplication中ProcessRequest方法中运行的事件顺序 1.BeginRequest 開始处理请求 2.AuthenticateRequest 授权验证请求 ...
- 智能提示含查询多列(html+JS+handler+ HttpRemoting)一、html示列 加 JS加 请求 Handler
<html> <head> </head> <body> <form id="recordform" name="r ...
- 记一次Ajax请求MVC调优
问题描述 ASP.NETMVC项目,编辑页面赋值操作,ajax请求很慢. 对同一个控制器有2个请求 一个为获取该表的树形结构数据(绑定下拉框) 一个为获取某实体的单条记录(编辑操作) 排查过程 数据库 ...
- ASP.NET MVC 中如何用自定义 Handler 来处理来自 AJAX 请求的 HttpRequestValidationException 错误
今天我们的项目遇到问题 为了避免跨站点脚本攻击, 默认我们项目是启用了 validateRequest,这也是 ASP.NET 的默认验证规则.项目发布后,如果 customError 启用了,则会显 ...
- ASP.NET WebForm 之 Ajax 请求后端处理
概述 ASP.NET MVC中的异步用途非常广泛,操作起来也非常简单.前台请求异步请求 Controller下的Action 方法,后端返回ActionResult 即可.但是在ASP.NET Web ...
随机推荐
- Ubuntu 如何编译安装第三方库
在工程应用中都会用到第三方库,标准库是在我们安装IDE环境或系统自带已经编译好的库,我们是可以直接调用的,而第三方库需要我们自己下载,编译和安装后才能使用,这里我们说的是Ubuntu如何使用cmake ...
- 控制台输入聊天记录 输出到文件中保存 Day20
package com.sxt.io; /* 字节流转换成字符流(转换流) * InputStreamReader extends Reader * OutputStreamWriter extend ...
- Myeclipse 设置默认注释
windows-->preference-->Java-->Code Style-->Code Templates code-->New Java files ${fil ...
- maven 发布到本地仓库
1.maven打包命令 maven package命令只是将你需要打包的项目打包到项目的class文件夹下面,并没有发布到本地仓库或者私服上面,现在多模块开发的打包一般依赖私服或者 本地仓库,因此,我 ...
- 利用微信提高APP下载的3个推广方式!
http://www.cocoachina.com/market/20150615/12149.html 走进移动互联网时代,各式各样App层出不穷,开发者们已经早一步走在了我们前面,为我们想到了一切 ...
- Oracle函数——COALESCE
COALESCE 含义:COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值 ...
- selenium 自动化点击页面
#!/usr/bin/env python# -*- coding:utf-8 -*-from selenium import webdriverfrom selenium.webdriver.com ...
- @codeforces - 418D@ Big Problems for Organizers
目录 @description@ @solution@ @accepted code@ @details@ @description@ n 个点连成一棵树,经过每条边需要花费 1 个单位时间. 现给出 ...
- linux 端口映射设置
iptables -t nat -A PREROUTING -p tcp --dport 新端口 -j REDIRECT --to-ports 旧端口
- uva 10566 Crossed Ladders (二分)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...