今天在做个后台管理系统的功能时,遇到个问题,想在左侧菜单里点击事件更改右侧内容。这时需要用到ajax,可是总是不能成功。
最后才发现时异步回传的问题,然后我设置了Sync:false,最终也是不行,后来在网上查了下,好像EXTJs中要实现同步还挺麻烦的,最后没办法就只能自己来写个了:
/**
* 同步ajax调用 返回json Object
*
* @param {}
* urlStr
* @param {}
* paramsStr 为字符串键值对形式"key=value&key2=value2"
* @return {} 返回json Object
*/
function ajaxSyncCall(urlStr, paramsStr) {
var obj;
var value;
var result;
if (window.ActiveXObject) {
obj = new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest) {
obj = new XMLHttpRequest();
}
obj.onreadystatechange=function()
{
if (obj.readyState==4 && obj.status==200)
{
result = obj.responseText;
}
}
obj.open('GET', urlStr, false);
//obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
obj.send(null);
return result;
}
之后就直接调用就好了,最后能将它封装起来,以后用着就更方便了。