jQuery ajax对象语法错误
我用它来处理一个包含大量数据的大表。我正在尝试添加一些自定义语言,但在处理语言文件时不断出现对象语法错误:jQuery ajax对象语法错误,jquery,datatables,Jquery,Datatables,我用它来处理一个包含大量数据的大表。我正在尝试添加一些自定义语言,但在处理语言文件时不断出现对象语法错误:http://domaintest.com/[对象%20对象] 如果我对ajax调用进行注释,则没有错误 此错误在此处的控制台中可见: 守则: function runDatatable() { // Datatable language switcher with custom language mods to overwrite the defaults function get
http://domaintest.com/[对象%20对象]
如果我对ajax调用进行注释,则没有错误
此错误在此处的控制台中可见:
守则:
function runDatatable() {
// Datatable language switcher with custom language mods to overwrite the defaults
function getLanguage() {
var $langMap = {
en: {
path: 'English',
mods: {
sLengthMenu: 'Display _MENU_ persons',
sInfo: 'Showing _START_ to _END_ of _TOTAL_ persons',
sInfoEmpty: 'Showin 0 to 0 out of 0 persons'
}
},
es: {
path: 'Spanish',
mods: {
sInfo: "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ personas",
sInfoEmpty: "Mostrando personas del 0 al 0 de un total de 0 personas"
}
}
};
var $lang = $('html').attr('lang');
// Fallback
if (!$langMap[$lang]) {
$lang = 'en';
}
var $result = null;
var path = '//cdn.datatables.net/plug-ins/1.10.13/i18n/';
var url = path + $langMap[$lang].path + '.json';
console.log(url);
$.ajax({
async: false,
url: url,
success: function(obj) {
$result = $.extend({}, obj, $langMap[$lang].mods);
console.log($result);
},
error: function(xhr, status, error) {
console.log(xhr.responseText);
}
});
return $result;
}
// Build Datatable
$('#datatable').DataTable({
language: {
url: getLanguage()
},
ordering: true,
autoWidth: false,
fixedHeader: true,
responsive: true
});
}
我在这里遗漏了什么?您应该以以下方式扩展对象:
$tmp = $.extend({}, obj, $langMap[$lang].mods);
$langMap[$lang].mods = $tmp;
您正在请求url:
language: {
url: getLanguage()
},
但是您返回$langMap
因此,您应该这样做(不使用ajax调用):
如果要覆盖标准文件,请选择最后一个:
language:getLanguage()
和返回$langMap[$lang].mods
您面临的错误是什么?在检查浏览器控制台时,我看到的错误只是404错误。是的,这就是错误<代码>[object%20Object]因此,语言功能不起作用。生产中的错误是相同的。好的,那么我应该在哪里替换它?是的,它正确地更改了语言文件,但现在它没有使用我的本地更改(mods)扩展它…@Meek再次:)这太完美了。我想我今天学到了一些新东西。非常感谢。我很高兴能帮助你:)
return path + $langMap[$lang].path + '.json';