尝试使用 OOP 对象从 JavaScript 获取 ajax 响应
trying to get ajax response from javascript using OOP object
所以这是我的代码:
function CreateDiv(D) {
D.body = function () {
var d =
$.ajax({
type: "GET",
url: "Default.aspx",
data: 'ExtrFlag=GetChat&userID=1&FriendID=' + this.id,
success: function (data) {
var StrResponse;
StrResponse = data.split('@@@');
return StrResponse[0];
},
error: function (xhr) {
return xhr.responseText;
}
});
alert(d);
return "<div class='chatBody' id='chatBody" + this.id + "' >" + d + "</div>";
};
}
function NewChat(id,username,picture) {
var div = new CreateDiv({ width: 250, height: 285, id: id, username: username, picture: picture });
div.create();
}
问题是当执行 Ajax 调用时,结果是d=[object object]
但在我的情况下它应该是一个字符串,因为 Ajax 服务器端函数总是返回一个字符串。
不能从异步方法返回值,应将处理 ajax 请求响应的所有代码添加到 ajax 请求的成功/失败处理程序中。
d
不是ajax 请求的返回值,而是实际的 ajax 请求处理程序本身。 在您的情况下,从服务器返回的值是data
的。
由于 ajax 根据定义是异步的,因此您不能像在函数中使用它那样使用它。您应该在成功处理程序中处理所有必需的处理,或者您可以返回 ajax 请求本身的句柄,并使用 $.when() 和 $.promise() 在其他地方处理
相关文章:
- 使用Javascript获取所选选项ID
- 可以't使用JavaScript获取width属性
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- Javascript获取上一个元素的内容
- 使用Javascript获取Twitter访问令牌
- 在不同的文件中使用Javascript获取表单数据
- 如何用javascript获取谷歌地图的经度和纬度
- 使用javascript获取表的td值
- 如何使用JavaScript获取当前URL
- 如何在谷歌网站中使用javascript获取当前页面的网址
- Javascript获取所有锚链接的索引
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 如何使用javascript获取下一个/转发url
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 使用JavaScript获取Gridview单元格值
- 使用javascript获取跨度的文本
- 如何使用Javascript获取POST请求填充的元素的值
- JavaScript-获取数据属性的值返回未定义的值
- Javascript:获取“;FORM”;它是在.html到外部.js文件中创建的