먼저 Ajax가 무엇인지 이해하세요.
AJAX는 새로운 프로그래밍 언어가 아니라 더 훌륭하고 빠르며 대화형인 웹 애플리케이션을 만들기 위한 기술입니다.
AJAX를 사용하면 JavaScript가 JavaScript의 XMLHttpRequest 개체를 사용하여 서버와 직접 통신할 수 있습니다. 이 개체를 통해 JavaScript는 페이지를 다시 로드하지 않고도 웹 서버와 데이터를 교환할 수 있습니다.
AJAX는 브라우저와 웹 서버 간의 비동기 데이터 전송(HTTP 요청)을 사용하므로 웹 페이지가 전체 페이지 대신 서버에서 소량의 정보를 요청할 수 있습니다.
자바스크립트라면 누구나 브라우저 호환성 문제를 떠올릴 것입니다. 사실 ajax도 이 문제를 고려해야 합니다. 브라우저마다 사용하는 웹 자바스크립트 클래스가 다르기 때문에 생성되는 효과는 동일하지 않습니다. 아래에서 더 이상 말도 안되는 소리는 하지 마세요. 참고할 수 있도록 코드를 직접 소개하세요.
{
var xmlhttp;//IE가 아닌 브라우저는 XmlHttpRequest 객체를 생성합니다
> }
~ } xmlhttprequest 객체 생성
if (Window.activexObject) {
시도 {
xmlhttp = 새 ActivexObject("Microsoft.xmlhttp"); (E) {
" xxxxx = xmlhttp.responseText; //여기서 html 태그 또는 기타 변수 처리 문제에 전달한 매개변수를 반환할 수 있습니다.
>> ~ . 아래 배경 코드는 프로젝트에 따라 다르므로 여기서 소개할 필요는 없습니다.
이러한 코드를 보면 어떤 느낌이 드나요? 이제 막 자바스크립트나 ajax를 배운 학생들은 이 코드를 기억하기가 정말 어렵습니다. 위에서 제가 기본적으로 말한 내용을 어떻게 이해하시나요? 누구나 일반적으로 이해할 수 있습니다. 하지만 각 페이지를 부분적으로 새로 고쳐야 하는 경우 각 페이지에 대해 이러한 코드를 작성하는 것이 매우 번거롭게 느껴질 것입니다. jQuery는 많은 작업을 완료하는 데 도움이 되었으며, 이는 프로젝트 개발의 어려움을 줄일 수 있습니다. jQuery 코드 사용:
$.ajax({
url: "some.php",
데이터: "name=John&location=Boston", 성공: function(msg){
Alert( "저장된 데이터: " + msg );
}
}); 다른 방법
$.post("test.php ", { name: "John", time: "2pm" },
function(data){
Alert("Data Loaded: " + data);
다음은 새로 고치지 않는 주석을 구현하고 표시하는 데 사용한 프런트엔드 및 백엔드 코드입니다.
<% @ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxComment.aspx.cs" Inherits="ajax learning. 새로 고침 주석이 없습니다.AjaxComment1" %>
后台代码(AjaxComment.ashx)
시스템 사용;
System.Collections.Generic 사용;
System.Linq 사용;
System.Web 사용;
ajax를 사용합니다.刷新评论
{
///
/// AjaxComment 的摘要说明
///
[WebService(네임스페이스 = "http:// tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class AjaxComment : IHttpHandler
{
public void ProcessRequest(HttpContext context)
context.Response.ContentType = "text/plain";
string msg = context.Request["msg"];
new T_CommentTableAdapter().Insert(context.Request.UserHostAddress,msg,DateTime.Now .ToString());//사용 가능한 强类型DataSet
context.Response.Write("ok");
}
public bool IsReusable
얻다
{
false를 반환합니다.
}
}
}
}大家看代完前台 问了,如果传递很多字段,很多属性数据时,该怎么办呢,如果每个数据city是这样的自己split()一下的话,那么做大项目的话肯定会累屎了,下面 jQuery有帮我们做了件好事情,就是json的使用,下面我引入我的使用无刷新评论的json代码
前台代码:
System 사용;
System.Collections.Generic 사용;
System.Linq 사용;
System.Web 사용;
System.Web.Services 사용;
ajax 사용학习.DataSetCommentTableAdapters 사용 ;
System.Web.Script.Serialization 사용;
네임스페이스 ajaxschool习.无刷新分页
{
///
/// PagedServices 的摘要说明
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
공개 클래스 PagedServices : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
// context.Response.Write("Hello World" );
string action=context.Request["action"];
var Adapter = new T_CommentTableAdapter();
if (action == "getpagecount")
{
int count=adapter.SelectCount().Value;
int pagecount=count/10;
if(count%10!=0)
{
페이지 수++;
}
컨텍스트 .Response.Write(pagecount);
}
else if(action=="getpagedata")
{
string pagenum=context.Request["pagenum"];
int iPageNum = Convert.ToInt32(pagenum);
var data = Adapter.GetPagedData((iPageNum - 1) * 10 + 1, iPageNum * 10);
List
foreach(var row in data)
{
list.Add(new Comments() { Id = (int)row.Id, IP = row.IP, Msg = row.Msg, PostDate = row.PostDate, });
}
JavaScriptSerializer jss = new JavaScriptSerializer();
context.Response.Write(jss.Serialize(list));
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
public class Comments
{
public int Id { get; set; }
public string IP{get;set;}
public string Msg{get;set;}
public string PostDate{get;set;}
}
}这样我们真的是省了很多力气啊,是不是jQuery很强大啊。。。。。。。。。。。。。
然后吧,微软感觉我必须封装自己的ajax,这样使得开发者做项目变得容易一些,微软真的是帮我们封装好了一个,但是对于高手来说,大家都不想用,感觉这样的代码太呆板,一点不灵活,我再下面引入代码,供新手参考:(不了解ajax运行原理的新手一样可以使用ajax快速开发新的项目)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UpdatPanel.aspx.cs" Inherits="ajax学习.UpdatePanel.UpdatPanel" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WCF_Ajax.aspx.cs" Inherits="ajax学习.WCF之Ajax.WCF_Ajax" %>
System 사용,
System.Collections 사용. 일반;
System.Linq 사용;
System.Runtime.Serialization 사용;
System.ServiceModel 사용;
System.ServiceModel.Activation 사용;
System.ServiceModel.Web 사용;
System.Text 사용;
WCF Ajax 학습
{
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class PersonService
{
// HTTP GET을 사용하려면 [WebGet] 속성을 추가하세요. (기본 응답 형식은 WebMessageFormat.Json입니다.)
줄:
WebOperationContext.Current. WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml"; 여기에 작업 구현 추가
,Age=30 };
> > public int Age{get;set;}
}
}
.net, ajax 학습에 대한 자세한 사례 요약은 PHP 중국어 홈페이지를 참고해주세요!