易截截图软件、单文件、免安装、纯绿色、仅160KB

jQuery AJAX回调函数this指向问题

了解JavaScript的人都知道JavaScript的this不总是指向当前对象,函数或类中的this指向与调用这个函数的对象以及上下文环境是息息相关的。如在全局作用域调用一个含this的对象,此时当前对象的this指向的是window。为了让this的指向符合自己的意愿,JavaScript提供了两个方法用以改变this的指向,它们是call和apply,当然也有利用闭包来实现的方法。本文通过一个例子来说明这些问题。
先看一段演示代码,这代码只供演示用,没有实际意义。
//一个没有实际意义的socket连接对象
var socket = 
{
    connect: function(host, port)
    {
        alert('Connecting socket server,host:' + host + ',port:' + port);
    }
};
//一个即时通讯类,其中connect方法还将作为AJAX回调函数被调用
function classIm()
{
    this.host = '192.168.1.28';
    this.port = '8080';
    this.connect = function(data)
    {
        socket.connect(this.host, this.port);
    };
}
//实例化即时通讯类
var IM = new classIm();
//AJAX请求,这里假设要打开socket连接首先要通过WEB得知用户WEB登录成功
$.get('CheckWebLogin.aspx', IM.connect);
运行上面的例子,你将看到弹出的host与port都是undefined,那是因为回调函数的this不是指向IM对象,而是jQuery的AJAX配置对象ajaxSettings。在jQuery内部是用s.success代替传入的回调函数去执行的,而success的调用对象就是s,即下面ajaxSettings对象的缩写。
ajaxSettings: 
{
    url: location.href,
    global: true,
    type: "GET",
    contentType: "application/x-www-form-urlencoded",
    processData: true,
    async: true
}
为了证明这一点,你可以这样修改代码测试一下,你将看到是url、glo


相关文档:

Ajax入门例子

  //创建XMLHttpRequest对象,需要根据IE和浏览器类型创建不同的xhr对象
var xhrobj;
function check()
{
//获取文本框的值
var username = document.getElementById("username").value;
if(window.XMLHttpRequest)
{
//针对firefox,Mozilla,ie7,ie8等
xhrobj = new XMLHttpRequest();
/ ......

asp.net mvc ajax 外部js 异步递交 form的实现

页面文件类似:
<% using (Ajax.BeginForm("AjaxUpdate", 123, new AjaxOptions {
Confirm = "confirm str", LoadingElementId = "idLoading", UpdateTargetId
= "textEntered", OnSuccess = "validateForm" },new{id="idMyForm"}))
  &nbs ......

Ajax信息反馈显示

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0044)http://www.qqip.cn -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>new document</TITLE>
<META ht ......

JSON例子(struts ajax json)

来源:haoxuewu - BlogJava
  前段时间做项目用到了json,今天我抽时间写了一个struts+ajax+json的例子.
  个人感觉ajax+json在很大程度上降低了网络和服务器的IO,是一个很不错的组合!
  1:json的lib我用的是json-lib-2.1-jdk15.jar,它可以在
  2:struts用的是1.2
  3:用到了js第三方prototype.js,主 ......

Parsing JSON Data from PHP Using jQuery (ajax)

have been studying parsing JSON from PHP using AJAX to display it in
the client side and jQuery had been a great help to me. Here is a very
simple code in parsing JSON using jQuery that i made.
tablejsondata.php
This file makes the request to a php file and displays the returned data into a tabl ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号