我有一些像这样的代码。
加载Index.php文件并从mysql数据库中提取信息以构建下拉跳转菜单。
当使用该菜单时,会调用jquery并尝试将特定联系人从数据库加载到覆盖窗口中。
它工作正常,我最近没有改变任何东西。我查看了chrome中的错误,这些都是我所不知道的。
这是错误 XMLHttpRequest无法加载http://www.google.com/jsapi。 Access-Control-Allow-Origin不允许使用Origin [my domain]。 jquery.min.js:6 未捕获错误:NETWORK_ERR:XMLHttpRequest异常101
这是我的jquery(我没有显示php,因为它似乎工作正常)
$j('#finddist').change(function(e){ e.preventDefault();
var intRegex = /^\d+$/;
var isNumeric = this.value;
if(intRegex.test(isNumeric)) {
var loadUrl = 'http://www.accumetrics.com/en?option=com_contactenhanced&view=contact&id='+this.value+'&tmpl=component&task=preview';
var width = 340;
} else {
var loadUrl = 'http://accumetrics.info/accumetrics.com.v3/us-distributors?tmpl=component&task=preview';
var width = 940;
}
$j("#someDiv").dialog({
autoOpen: false,
modal:true,
width: width,
overlay : {
background: '#000',
opacity: '0.9'
},
show: {
effect: 'fade',
duration: 700
}
});
$j("#loading").html(ajax_load);
$j("#someDiv").load(loadUrl, null, function(responseText){
// alert("Response:\n" + responseText);
$j("#someDiv").dialog('open');
$j("#loading").fadeOut(200);
});
$j("#someDiv").dialog( "option", "position",[top,center]);
});
答案 0 :(得分:0)
Chrome在调用jQuery时遇到了这个错误。尝试在不同的浏览器中查看是否仍然出现错误,这可能只是一个现在存储在缓存中的错误调用。
虽然我在这里,但也可以帮助你应用jQuery AJAX。
将您的数据分成适当的字符串:
var loadUrl,loadData,width;
if(intRegex.test(isNumeric)) {
loadUrl = 'http://www.accumetrics.com/en';
loadData = {option:'com_contactenhanced', view:'contact', id:this.value, tmpl:'component', task='preview'};
width = 340;
} else {
loadUrl = 'http://accumetrics.info/accumetrics.com.v3/us-distributors';
loadData = {tmpl:'component', task:'preview'};
width = 940;
}
然后在负载中适当地应用它。
$j("#someDiv").load(loadUrl, loadData, function(responseText){
使用任何jQuery AJAX函数时,请始终将您的数据与URL分离到相应的对象中。它不仅使维护更容易,而且还允许jQuery形成适当的查询字符串,而不是强制它。