1、直接获得DWR返回值,不用写回调函数
//创建对象
function DwrObject(){
//后台类使用的参数,公有属性
this.param1="";
this.param2="";
this.param3="";
//私有属性
var result = "";
this.getResult=function(){
DWREngine.setAsync(false);
yourDWRClass.methodName(this.param1,this.param2,this.param3,
function(data){result = data;});
DWREngine.setAsync(true);
return result;
}
}
//调用
function yourMethod(){
var dwrObject = new DwrObject();
dwrObject.param1="内容";
dwrObject.param2="内容";
dwrObject.param3="内容";
alert("返回结果:" + dwrObject.getResult());
}
特点:不需要action参与,直接调用后台类,可以避免表单提交时get方法带来的内容有限的限制。
2、使用原生态Ajax直接获得返回值
//定义对象
var result="";
function textHandler(text){
result=text;
}
function requestURL(urlstr){
var xmlhttp = getXMLHttpRequest();
var handlerFunction = getReadyStateHandler(xmlhttp,textHandler);
xmlhttp.onreadystatechange = handlerFunction;
xmlhttp.open("GET", urlstr, false);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(null);
return result;
}
function getXMLHttpRequest() {
var xmlreq = false;
result="";
if (window.XMLHttpRequest) {
// 在非Microsoft浏览器中创建XMLHttpRequest对象
xmlreq = new XMLHttpRequest();
} else if (window.ActiveXObject) {
//通过MS ActiveX创建XMLHttpRequest
try {
// 尝试按新版InternetExplorer方法创建
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
// 创建请求的ActiveX对象失败
try {
// 尝试按老版InternetExplorer方法创建
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
// 不能通过ActiveX创建XMLHttpRequest
}
}
}
return xmlreq;
}
function getReadyStateHandler(req,responseTextHandler) {
// 返回一个监听XMLHttpRequest实例的匿名函数
return function () {
// 如果请求的状态是 完成
if (req.readyState == 4) {
// 检查是否成功接收了服务器响应
if (req.status == 200) {
// 将载有响应信息的XML传递到处理函数
responseTextHandler(req.responseText);
} else {
// 有HTTP问题发生
// alert("HTTP error: "+req.status);
return false;
}
}
}
}
//使用
var url="你的请求路径(urld地址,servlet,action)";
var result = requestURL(url);
alert("返回结果:" + result);
特点:依赖url请求,通过后台输出流返回结果,会因为form的get方法限制提交内容。
分享到:
相关推荐
设置为false时,虽然可以立即得到数据处理,但这会阻塞浏览器,导致用户体验下降,因此一般推荐保持默认值true。 参数cache用于防止请求发送时,浏览器直接使用缓存副本,而不是实际从服务器获取最新数据。在开发...
直接使用`responseText`即可得到文本内容。 ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'your-api-url.txt', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && ...
首先,我们来看一下,为什么在$.ajax()方法中直接使用return语句不能取得值。假设我们有一个函数如下: ```javascript function getReturnAjax() { $.ajax({ type: "POST", data: "username=" + vusername.value...
**ASP.NET 2.0 AJAX 知识点详解** ASP.NET 2.0 AJAX(Asynchronous JavaScript and XML)是...利用这个工具,你可以深入学习每个类和方法的参数、返回值以及用法,从而更加熟练地运用ASP.NET 2.0 AJAX框架进行开发。
- `@ResponseBody`注解表示该方法的返回值将直接写入HTTP响应体,适合返回JSON或XML数据。 ### 三、Ajax与前端框架的结合 随着前端框架如React、Vue和Angular的普及,它们提供了更高级别的API和生命周期方法来简化...
首先,需要注意的是,在 $.ajax() 的 success 回调函数中直接返回值是不正确的操作,因为这里的返回并不会影响外部代码。返回值应该赋给一个外部定义的变量,通常这个变量会声明在外部作用域中,以便在其他地方使用...
例如,在我们遇到的问题中,`existProduct`函数中的AJAX请求还未获得响应,函数就执行了`return falg`语句,导致了逻辑顺序的混乱。 要实现同步执行,可以通过设置AJAX请求的`async`参数为`false`来达到目的。`...
2. `url : js_path + "/maintainAdd/add"`:定义请求的URL,这里是通过`js_path`变量拼接得到的,表明请求的目标是服务器上的`/maintainAdd/add`接口。 3. `data : JSON.stringify(madd_data.editMaintain)`:`data...
- 成功解决方案:最后通过在Maven仓库中找到最新版本的`jackson-databind`、`jackson-core`和`jackson-annotations`包,并替换为相同版本(例如2.10.3),问题得到了解决。这是因为这些包提供了将Map对象转换为JSON...
这意味着 `action` 和 `method` 属性必须直接在 `<form>` 标签中定义。 - **示例**: ```html <!-- 表单内容 --> var form = document.getElementById('myForm'); ajax.post(form, function(response) { ...
当AJAX通过XMLHttpRequest对象向服务器发起请求,并希望获取到一个特定的值,如整数、字符串等作为响应时,有时候却得到了整个HTML页面的源代码。这种情况通常发生在服务器端对请求的处理上存在问题,比如服务器端的...
另一个重要的知识点是,当Ajax调用失败时,浏览器可能会直接跳转到error回调函数,而不会执行success回调函数。在本文提供的代码示例中,如果服务器返回的数据格式不正确或数据类型有误,那么success回调函数中添加...
// the options for this ajax request }返回值: XMLHttpRequest 使用GET请求一个页面。 这是向服务器发送get请求的简单方法。它可以指定一个回调函数,在请求完成后执行(只有在请求成功时)。如果还...
此外,返回值"true"和"false"对于实际应用来说过于简单,可能会存在歧义,建议使用更详细的返回数据,比如返回JSON格式数据,使得前端更容易处理成功或失败的逻辑。 从技术角度来说,*** AJAX的使用涉及到了...
首先,我们需要计算总页数,这可以通过数据长度除以每页显示的数目得到,结果向下取整。然后,根据当前页码,我们可以计算出应该显示的数据范围,并对数组进行切片操作。 ```javascript var pageSize = 10; // 每页...
在前端,需要使用JSON.parse()方法来解析返回的JSON字符串,然后根据解析得到的对象属性进行相应的处理。 4. 后台返回一个实体类列表 当需要返回一个实体类对象的列表时,我们同样需要定义好对应的实体类,例如...
这在之前的版本中是无法实现的,开发者通常需要通过 `$.ajax` 方法的返回值来间接访问这个对象。这一改动大大简化了处理 AJAX 响应的过程,使得开发者可以直接访问 `XMLHttpRequest` 对象,以便于进一步处理响应头、...
// 获得返回值 }); } ``` 这段代码使用了jQuery的`$.getJSON`函数,这是一个异步请求JSON数据的方法。`http://123.123.123.123/?callback=?`是请求的URL,`callback=?`表示使用JSONP机制,`?`会被替换为实际的回...