1、如何去除AJAX取过值后IE的缓存?
A:在url后面加一个当前时间。即:url = url + "&nocache="+new Date().getTime();
B: 在xmlhttp.open之后发送一个特定的头,简约代码如下:
xmlhttp.setRequestHeader('If-Modified-Since', '0');
2、在使用AJAX的时候发现在取得xmlHttp.status状态时为空,造成JS的ERROR信息错误,应该如何解决?
A:这种情况绝大多数情况是因为用户在xmlHttp.open时采用了异步调用的方式进行处理,即在服务器未影响时继续执行,因此会造成不能及时获得处理信息,造成xmlHttp.status为空。
解决方案:xmlHttp.open("GET",url,false),将异步变为false即可。
3,在AJAX的URl中如何传递中文?
A:AJAX不能直接传递中文,因此就需要对中文进行编码与解码的处理。
编码:"username=" + escape("小红"); //会变成%u8e8d等
解码:PHP可以使用,下面的函数进行解码
//将JS使用escape编码的URl解码为正常汉字
<?php
function unescape($str)
{
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#\d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v)
{
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#")
{
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
?>
分享到:
相关推荐
**jQuery AJAX 实力展示:轻松实现二级联动** ...进一步学习可以涉及更复杂的数据格式(如JSON)、更丰富的请求类型(如PUT、DELETE),以及异步编程的最佳实践。不断实践,你将在AJAX和jQuery的世界里游刃有余。
- `cache`: 是否缓存请求结果,默认为true(GET请求)。 - `headers`: 自定义请求头。 ### 5. 简化API jQuery还提供了简化的Ajax方法,如`$.get()`, `$.post()`, `$.getJSON()`等,方便快速实现特定类型的请求: ...
此外,还有其他HTTP请求方法,如PUT和DELETE,但在某些浏览器上可能不支持。 timeout参数用于设定请求的超时时间,以毫秒为单位。超过这个时间后,如果请求还没有得到响应,就会触发超时错误。该设置会覆盖全局的...
add_header Access-Control-Allow-Headers 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; if ($request_method = 'OPTIONS') { add_header '...
ajax() 方法是 jQuery 中最强大的 AJAX 方法,它可以发送 GET、POST、PUT、DELETE 等多种类型的请求。该方法的语法为 `$.ajax(options)`,其中 `options` 是一个对象,它可以包含多种参数。 常见的参数包括: * url...
还有其他如"PUT"、"DELETE"等,但并非所有浏览器都支持。 3. **timeout**:设置请求的超时时间,单位为毫秒。超过这个时间,请求会被视为失败。 4. **async**:默认为true,表示请求是异步的。若设为false,则请求...
- **缓存控制**:使用`cache`参数可以控制AJAX请求是否缓存,以优化性能。 - **安全考虑**:AJAX应用需要注意XSS(跨站脚本攻击)和CSRF(跨站请求伪造)等安全问题,需采取相应防护措施。 "**AJAX in Action**"这...
jQuery允许通过AJAX选项自定义请求行为,如`cache`控制是否缓存请求,`contentType`指定发送数据的格式,`beforeSend`允许在请求发送前进行修改。 六、Promise对象与链式调用 $.ajax()返回一个Promise对象,可使用...
- `type`: 请求类型(GET, POST, PUT, DELETE等)。 - `dataType`: 预期的服务器响应数据类型(json, xml, html, script, text等)。 - `data`: 要发送的数据,通常是键值对。 - `success`, `error`: 分别是请求成功...
- `Ajax`支持GET和POST方法,还可以通过`options.method`指定PUT、DELETE等其他HTTP方法。 4. **发送数据** - 数据可以通过`data`选项或者在URL中直接附加查询字符串来发送。对于POST请求,可以使用`options....
5. **内置缓存机制**:通过Page Output Cache、Fragment Cache等,提高了页面的响应速度和服务器性能。 6. **主题(Themes)**和皮肤(Skin):允许开发者轻松地更改整个网站的外观和感觉,而无需修改每个页面的...
5. cache:是否从浏览器缓存中加载请求数据。默认为true,但当dataType为"script"时,默认值为false。 6. data:发送到服务器的数据,可以是对象或字符串。对象会转换成URL查询字符串格式。 7. dataType:预期...
首先,jQuery的`$.ajax()`方法是一个高度可配置的函数,它提供了GET、POST、PUT、DELETE等多种HTTP请求方式,并支持JSONP跨域请求。在创建自定义AJAX功能时,我们需要考虑的主要部分包括: 1. **配置选项**:`$....
- **type**: 请求方式,默认为 "GET",也可使用 PUT、DELETE 等。 - **timeout**: 设置请求超时时间。 - **async**: 是否异步,默认为 true。 - **beforeSend**: 发送请求前的回调,可用于设置 HTTP 头部。 - **...
`cache` - 类型:Boolean - 默认值:true(当`dataType`为`script`时默认为`false`) - 描述:控制浏览器是否缓存请求结果。默认情况下,浏览器会尝试缓存`GET`请求的结果,但在某些情况下可能不希望这样做,例如...
这个应用的功能与Postman相似,允许用户发送各种HTTP请求(GET、POST、PUT、DELETE等),接收并展示服务器返回的数据,为开发者调试API提供了便捷的工具。 【HTML5知识点】 1. **离线存储**:HTML5的离线存储机制...
5. cache:此参数同样为布尔值,默认为true,指定是否从浏览器缓存中加载请求。当dataType为"script"时,默认为false。如果想要阻止AJAX请求的缓存,可以设置为false。 6. data:该参数可以是对象或字符串,用于...
- Cache-Control:控制资源的缓存行为,例如max-age设置缓存有效时间。 #### 六、调试与错误处理 1. **调试工具:** - Chrome DevTools:提供Network面板来查看和调试网络请求。 - Firebug:Firefox的开发工具...
$.ajax() 方法允许我们发送Ajax请求,包括GET和POST,以及PUT、DELETE等其他HTTP方法。它支持各种配置选项,如URL、数据类型、请求类型、数据、回调函数等,使得Ajax请求的处理更加灵活。 以下是对$.ajax() 使用的...