Get:
- 效率高。
- 常用与传送简单数据,大小一般在1K以下。
- 数据加载到url中,会被浏览器缓存,因此有安全隐患。
- 等幂的,即两次访问同一个URL,若第二次访问时浏览器直接返回第一次访问的结果。
- 防止Get请求等幂访问可以在URL后面加上 ?+new Date();
使用get方式需要注意:
1 对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经encodeURIComponent方法处理.例:
var url = "update.php?username=" +encodeURIComponent(username) + "&content=" +encodeURIComponent(content)+"&id=1"
- 效率相对较低。
- 常用于传送数据量大的请求。
- 浏览器把各表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器。
- 浏览器认为Post请求是一个变动性访问,因此不会被缓存。
$.ajax不缓存版:
$.ajax({
type:"GET"
url:'test.html',
cache:false,
dataType:"html",
success:function(msg){
alert(msg);
}
}
jQuery AJAX跨域请求
HTML部分:
<input id="button1" type="button" value="111" />
<input id="button2" type="button" value="222" />
<input id="button3" type="button" value="333" />
<script src="../static/js/jquery-1.8.3.min.js"></script>
javaScript部分:
jQuery(function(){
var button1 = jQuery("#button1");
var button2 = jQuery("#button2");
var button3 = jQuery("#button3");
button1.click(function(){
jQuery.ajax({
type: 'get',
url: 'http://dqs.wcloud-server.com/a/wp/org/org_pub_info',
dataType: 'jsonp',
jsonp:"jsoncallback",
success: function(data){
console.log(data);
},
error: function(){
console.log("fail");
}
});
});
// <?php
// header('Content-Type:text/html;Charset=utf-8');
// $arr = array(
// "user" => $_GET['loginuser'],
// "pass" => $_GET['loginpass'],
// "name" => 'response'
// );
// echo $_GET['jsoncallback'] . "(".json_encode($arr).")";
button2.click(function(){
jQuery.getJSON("http://dqs.wcloud-server.com/a/saas/getRootEmail?callback=?", function(data){
console.log(data);
});
});
function foo(data){
console.log(data);
}
button3.click(function(){
jQuery.getScript("http://dqs.wcloud-server.com/a/saas/getRootEmail?callback=foo ");
});
});