jQuery 控件的 AJAX 文本属性成功,返回 [对象对象]
AJAX text property of jQuery control succeeds, returns [object Object]
在这个脚本中,我们有一个'stager'函数,它将在数据发送回数据库之前充当屏幕上用户交互的中介。 AJAX 调用成功,但我有 [对象对象] 而不是来自div 内部数据库的查询。 如果我检查控制台,我看到来自数据库的数据是正确的。 如何更改我的代码,以便我可以在我的div 中获取文本。 我对 AJAX 和 JavaScript 的一般基本元素有什么误解/将来避免这种情况的技巧。
编辑:刚刚注意到这很可能是由于我的stageOptions对象没有AJAX调用作为属性,而是直接文本。 现在这更符合我想要表达的内容。
$(document).ready(function () {
var stageOptions = {
//some baseline options for the stager control
size: {
small: 'small',
medium: 'medium',
large: 'large'
},
content: {
historical: 'historical',
predictive: $.ajax({
type: "POST",
url: "../Service.asmx/GetDrugs",
contentType: "application/json",
dataType: "json",
success: function (data) {
data.d;
console.log(data.d);
console.log('success');
},
error: function (xhr) {
console.log('error');
}
})
}
};
/*************functions************************/
function stager(options) {
var $div = $('<div>').addClass(options.size);
$div.text(options.content);
return $div;
};
stager({ size: stageOptions.size.small,
//size and content will be much more variable in the future
content: stageOptions.content.predictive
}).appendTo('body');
});
Stringify 不会解决这个问题。将 options.content 设置为div 的文本不起作用,因为您将整个内容对象设置为文本。我认为您可能还想重新考虑您是如何做到这一点的,因为您立即设置div 的文本,然后将其附加到正文中,而不检查您的 ajax 请求是否已完成。通常,您可以从options.content.responseJSON访问JSON,但是当您设置文本时,ajax调用尚未完成,此时仍未定义。
您可以将内容切换为:
$(document).ready(function () {
var stageOptions = {
//some baseline options for the stager control
size: {
small: 'small',
medium: 'medium',
large: 'large'
},
content: {
historical: 'historical',
predictive: 'predictive'
}
};
/*************functions************************/
function stager(options) {
$.ajax({
type: "POST",
url: "test.json",
contentType: "application/json",
dataType: "json",
success: function (data) {
var $div = $('<div>').addClass(options.size);
$div.text(data.d).appendTo('body');
},
error: function (xhr) {
console.log('error');
}
});
};
stager(stageOptions.size.small);
});
你返回一个对象,所以如果你想把它作为一个字符串,试试:
$div.text(JSON.stringify(options.content));
相关文章:
- Javascript:firstChild对象返回undefined
- Javascript对象返回垃圾值
- 从js中的对象返回一个值
- 从Javascript类对象返回函数
- 从具有最高值的对象返回属性
- 为什么我的Date对象返回当前日期
- NodeJS fs.readdr-将回调内部作为对象返回
- Leadfoot会话对象返回promise
- 如何从对象返回可读字符串
- 日期对象和ISO日期对象返回不同的日期
- 使用JavaScript's FormData对象返回整个html
- 节点.js请求对象 - 返回响应正文以供进一步操作
- 使用 Restangular 使用 RESTful API - RESTful API 将数组作为顶级对象返回是否安全
- 带有方法的 Javascript 对象返回“没有方法'我的方法名称'”错误
- 从 Date() 对象返回 dd-mm-yyyyy
- JSON 中的日期对象返回的数据被视为字符串
- Javascript - 如何获取字符串,打印单词,字符,空格,平均单词长度的#并作为对象返回
- 如何从新对象返回值,同时保留其方法
- 如何从对象返回某些键
- 从 Javascript 中的对象返回值