的属性 target 的值。
如果该参数指定了一个已经存在的窗口,那么 open() 方法就不再创建一个新窗口,
而只是返回对指定窗口的引用。在这种情况下,features 将被忽略
features:一个可选的字符串,声明了新窗口要显示的标准浏览器的特征。如果省略该参数,
新窗口将具有所有标准特征。在窗口特征这个表格中,我们对该字符串的格式进行了详细的说明
replace:
一个可选的布尔值。规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,
还是替换浏览历史中的当前条目。支持下面的值:
true - URL 替换浏览历史中的当前条目。
false - URL 在浏览历史中创建新的条目
send()send()用于向一个已经连接的socket发送数据,如果无错误,返回值为所发送数据的总数,
否则返回SOCKET_ERROR。[1] send也是一个英文单词。
responseText属性:
服务器进程返回数据的文本版本
服务器进程返回数据的兼容DOM的XML文档对象 status 服务器返回的状态码, 如:404 = "文件末找到".
你向ajax后台的程序发送xmlhttp请求的时候, 后台程序接到请求会进 行处理,处理结束后,可以返回一串数据给前台,
这个就是responseText.
一般在后台程序C#中是Response.Write("字符串") php中使用的是echo...就是一个输出字符串
因为要输出一个字符串但有时候得到的是一个数组,但是要把他串行化,用PHP中的json技术把这个数组转换成
一个字符串输出给前端,而前端respText属性能接收住这个字符串,然后通过JS中的json技术把这个字符串
再次转换成JS认识的对象来进行操作(json数据传输类型基本上哪种语言都认识可以用于各种语言的传输与转换)
初始化XMLHttpRequest对象
1 2 3 4 5 | if (window.XMLHttpRequest) {
var http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
var http_request = new ActiveXObject( "Microsoft.XMLHTTP" );
}
|
登录后复制
XMLHttpRequest发出HTTP请求
1 2 3 4 5 6 7 8 9 10 11 | http_request.open( "GET|POST" , "test.php?GET方式传值" ,true);
http_request.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" );
http_request.send(向一个已连接的套接口发送数据);
XMLHttpRequest取得响应数据并显示
http_request.onreadystatechange= function (){
if (http_request.readyState==4 && http_request.status==200){
$( "p" ).text(http_request.responseText)
}
}
|
登录后复制
例:
//GET方式
参数1:代表是以get还是post方式发送请求 参数2:发送请求给哪个url 参数3:true代表异步请求,false代表同步请求
1 2 | http_request.open( "GET" , "test.php?user_name=" +username.val(),true);
http_request.send();
|
登录后复制
发送POST请求
1 | var username=$( "input[name='user_name']" );
|
登录后复制
参数1:代表是以get还是post方式发送请求 参数2:发送请求给哪个url 参数3:true代表异步请求,false代表同步请求
1 2 | http_request.open( "POST" , "test.php" ,true);
http_request.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" );
|
登录后复制
如果是POST传输方式要把值写在send()函数里
1 | http_request.send({username:username});
|
登录后复制
四.JSON
Javascript Object Notation,是一种轻量级的数据交换格式
JSON每种语言都认识他所以用他进行各种语言的数据的转换
JSON支持多种语言
格式
{key:value,key:value,.....} 对象格式
[{key:value,key:value,.....},{key:value,key:value,.....},......] 数组格式
PHP处理:
$json=json_encode($array) //对变量进行Json编码
$array=json_decode($json) //对Json数据进行解码转换成PHP变量
JavaScript处理:
eval('('+json+')') //将某个字符串按照JS代码来执行
例:
1 2 3 4 | eval ( "x=10;y=20;document.write(x*y)" )
document.write( eval ( "2+2" ))
JSON.parse(json)
JSON.stringify(obj)
|
登录后复制
五.jQuery中AJAX应用1
.不要忘写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $.ajax({
url: "test1.php" , ('服务器url地址')
data: "user_name=" +$('input[name= "user_name" ]').val(),('名=值&名=值&.....',)
type:'get',('post|get')
dataType:'json', ('xml|html|text|json|script')
success: function (res){
$('h1').text('用户名为:'+res.user_name);
},
error: function (xhr){
},
timeout:2000,
async:true,
cache:false
})
|
登录后复制
六.jQuery中AJAX应用2
1 2 3 4 | $.get()
$.get('服务器url地址', "json格式或字符串格式" , function (res){
}), "xml|html|json|text|script" )
|
登录后复制
例:
1 2 3 4 5 6 7 8 9 10 11 |
$.get( "test1.php" ,{user_name:$( "input[name='user_name']" ).val()}, function (data){
if (data.status=='ok'){
alert( "登陆成功" );
location.href= "http://www.wl.com" ;
} else {
alert( "登陆失败" );
}
},'json')
|
登录后复制
七.jQuery中AJAX应用3
serialize() 序列表表格内容为字符串,串行化数据 用于 Ajax 请求
1 2 3 4 | $.post()
$.post('服务器url地址', "json格式或字符串格式" , function (res){
}), "xml|html|json|text|script" )
|
登录后复制
例:
1 2 3 4 5 6 7 8 9 10 11 12 |
$.post( "test1.php" ,$('form').serialize(), function (res){
if (res.status=='ok'){
alert( "登陆成功" );
location.href= "http://www.wl.com" ;
} else {
alert( "登陆失败" );
}
},'json')
|
登录后复制
php中接收处理输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | try {
$pdo = new PDO( "mysql:host=127.0.0.1;port=3306;dbname=数据库名" ,'数据库账号','数据库密码');
$pdo -> exec ( "set names utf8" );
$sen = $pdo ->query( "select * from yh_admin where user_name='{$user_name}' limit 1" );
if ( $sen ->rowCount()>0){
$arr ['status']='ok';
} else {
echo 'no';
}
echo json_encode( $arr );
} catch (PDOException $e ){
echo $e ->getMessage();
}
|
登录后复制
以上是jQuery之AJAX的知识点总结的详细内容。更多信息请关注PHP中文网其他相关文章!