jQuery AJAX JSON对象不工作
jQuery AJAX JSON object not working
我的AJAX请求遇到了一些麻烦。问题是JSON对象名为html。
AJAX请求:
$.ajax({
url : 'index',
type : 'POST',
dataType : 'json', // Makes no difference
data : {
method : 'saveModule',
html : content
},
success : function(i){
console.log(i);
}
})
我知道这是关于html JSON对象,因为如果我删除它的请求将成功。
这是firebug的console.log();
对象存储在[]中,这正常吗?
[Object { name="Home", link="/home"}, Object { name="Work", link="/work", childs=[3]}, Object { name="Contact", link="/contact", childs=[2]}]
子对象也是JSON对象。
请帮帮我,它快把我逼疯了!Web控制台的错误:
[11:58:47.215] uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://localhost/mcms/htdocs/templates/resources/js/jquery-1.6.3.min.js :: <TOP_LEVEL> :: line 5" data: no]
内容变量是由:
var content = mcms.module.analyse(obj); // obj is a dom element, in this case a UL with sub ULs inside LIs
函数本身:
analyse : function (that) {
return $(that).children('li').map(function() {
var b = {
name: $(this).children('a').text(),
link: $(this).children('a').attr('href')
};
if ($(this).children('ul').size() > 0) {
b.childs = mcms.module.analyse($(this).children('ul'));
}
return b;
});
}
我已经找到问题并修复了!
问题是.map()函数返回JSON对象周围的数组。所以我做了一个JSON对象,在地图周围有一个计数器来捕获它并返回它:)
谢谢大家的帮助!
analyse : function (that) {
var b = {};
var x = 0;
$(that).children('li').map(function() {
b[x] = {
name: $(this).children('a').text(),
link: $(this).children('a').attr('href')
};
if ($(this).children('ul').size() > 0) {
b[x].childs = mcms.module.analyse($(this).children('ul'));
}
x++;
});
return b;
}
我不太确定方法参数。如果这是你想调用的方法,你也可以把它包含在URL中?
嗯,你现在对$.ajax
的呼叫看起来不完全正确。应该是这样的:
$.ajax({
url : 'index',
type : 'POST',
data : <data to be sent>
dataType : <Default: Intelligent Guess (xml, json, script, or html)>
success : function(i){
console.log(i);
}
})
jQuery网站的更多信息:http://api.jquery.com/jQuery.ajax/
编辑
好的,我看到你纠正了电话。现在看起来好多了。content
从哪里来,什么是在它被转换成JSON对象之前?
EDIT2
嗯,我认为这个答案应该对你有帮助:Post嵌套对象到Spring MVC控制器使用JSON
相关文章:
- 读取在具有IE的工作程序中生成的对象URL
- 我怎样才能让jQuery即使在尚未创建的对象上也能工作
- JSON.stringify没有'在更改的对象上无法按预期工作.如何处理
- 如何让我的正则表达式代码在我的dojo cellWidget对象上工作
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- 地图如何在 Ecmascript 6 中使用对象键工作
- 了解 JavaScript 对象实例或工作流
- JavaScript 返回对象未按预期工作
- 如何让、要求和原型协同工作以在 javascript 中制作对象
- 谷歌应用程序脚本-正在尝试使用getUrl.TypeError:在对象工作表中找不到函数getUrl
- 一个对象怎么能像返回自身和另一个对象一样工作
- "键“;jQuery中的对象无法正常工作
- 对象引用的隐式传递是如何工作的
- dojo类对象的工作原理
- app.use(restify.bodyParser())无法工作,因为req对象为空
- 从服务器端将属性绑定到套接字对象;似乎不能正常工作
- 为什么mongoose.connect()在mongoose对象上没有作为方法出现时工作得很好
- 在 JavaScript 不工作对象中连接两个变量
- JS循环插件在IE11中不工作.对象不支持属性或方法循环
- Javascript 对象:如何创建包含工作对象的封装