玩玩AJAX之使用ashx文件响应来自JQuery的JSON请求(转)
ashx文件是.net 2.0新加的文件类型(其实在.net 1.0下已经可用,但是没有公开提供).
ashx文件和aspx文件有什么不同? 我们先新建一个ashx文件看看:
ashx
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable {
get {
return false;
}
}
}
看,比aspx简洁多了吧.只有一个文件,没有后台cs文件(基于代码安全考虑,后边我们会自己添加这个文件).ashx对比aspx文件,就好像少了cs文件.其实这就是ashx和aspx不同的地方,因为aspx要将前后台显示和处理逻辑分开,所以就弄成了两个文件,其实,在最终编译的时候,aspx和cs还是会编译到同一个类中去.这中间就要设计html的一些逻辑处理.而ashx不同,它只是简单的对web http请求的直接返回你想要返回的结果.比aspx少处理了html的过程.理论上,比aspx要快.
看看.net config文件中对两个文件类型请求的配置吧
config设置
<add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" />
<add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />
可以看到两个文件处理的类不一样(ashx处理的类叫SimpleHandleFactory,既然叫Simple,应该处理过程也比较Simple.响应速度也应该快点吧:)
只要具体继承了IHttpHandler如何处理的问题,我这里找到一篇早期的,介绍.net 2.0编译模型的问题.比较深奥,要慢慢鼓捣一下:
点击下载文章
鼓捣完了你就大概明白了ashx不过.net里面自定义好的一个请求格式,ashx文件类的文件的处理过程要比aspx要简单得多.
不说这些东西了.说会怎么利用ashx文件来实现我们的AJAX请求吧(其实实现和JQuery和JSON关系不大)
看看JS代码:
JS
function getSecondaryContent(menuId){
$.getJSON("Article/FreshNews.ashx", function(data) {
var txt = "<ul class=\"news\">";
$.each(data,function(i,n){
if(n.Url == "#")
txt += "<li><a href=\"#\" onclick=\"articleTitle_onclick('"+ n.ArticleId +"')\">"+ n.Ti
相关文档:
最近match001.com项目做一个发送电子喜帖的功能,发现QQ油箱明信片功能差不多。于是乎构思做成那个样子。
有几点需要实现的:
背景图片、结婚相片的加载。
N多的事件绑定
跟相册数据绑定,选择相册列出所有相片,并且相片分页。所有的都AJAX实现
初始化一个DIV用来控制上层图片位置移动,根据不同背景图片,初始化不不 ......
oad()方法
load( url [,data] [,callback]) data是Object类型,发送至服务器的key/value数据
例:
$(function(){
$("#send").click(function(){
$("#resText").load("test.html ......
一周前,leader让我写一个类似百度的自动完成功能,呵呵,因为对ajax技术掌握的不好,所以苦恼了很久没有写出来
经过一周的学习,终于写出了一个ajax程序,以后的工作就好做多啦
index.jsp
<html>
<head>
<style >
#child{
color: #333;
width:200px;
&nbs ......
Private static readonly object ReflectionLock = new object();
Lock (ReflectionLock)
{
Type scriptManagerType =
Type.GetType(
"System.Web.UI.ScriptManager, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35",
false);
......
用过Wordpress的朋友都知道,因为Wordpress的开放性,可以装很多插件,并且
各种主题也是良莠不齐,很多做主题的人本身可能是设计人员,对于SEO和速度考虑本身不太多,所以造成Wordpress非常庞大,有时候首页要到
500k至1M这样的水平。根据现在国内网速,一般都是以512k或者1M,那么以首页500K来看,全速下载需要10秒左 ......