function load(idno){
var url = 'index.php';
$.get(
url,
{
pagina:"ajax",
show:"cars",
brand:idno
},
function(data) { document.getElementById("model").innerHTML=data },
"html"
);
}
答案 0 :(得分:3)
您是不是只使用jQuery.load()
?例如
$('#model').load('index.php', {
pagina: 'ajax',
show: 'cars',
brand: idno
});
猜测一下,我说问题出在innerHTML
电话上。更健壮的方法是使用jQuery.html()
,例如
function(data) { $('#model').html(data); }
修改强>
刚刚开始测试并且工作正常
<?php
// test.php
echo '<pre>', print_r($_REQUEST, true), '</pre>';
<!-- test.html -->
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div id="model">
Default text
</div>
<p><button id="fetch-data">Fetch Data</button></p>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function($) {
$('#fetch-data').click(function() {
$('#model').load('test.php', {
pagina: 'ajax',
show: 'cars',
brand: 123
});
return false;
});
});
</script>
</body>
</html>
当我点击按钮时,我可以看到发送到脚本的所有请求变量
答案 1 :(得分:0)
经过漫长的努力,我成功地解决了这个问题。我的JS代码很好,也许Phil也是......我没有在这个版本中尝试过,但Chrome中的真正问题是不允许选项标签上的onclick属性。所以我做了这个活动
<select onchange='loadData(this.value,'models')'></select>
它运作良好。不管怎样,谢谢你。
答案 2 :(得分:0)
由于安全原因,如果请求不是来自受信任的站点,则chrome不允许跨域通信, 如果你想在chrome中使用$ .ajax,那么你需要取消chrome的web安全性 使用这个comman。
your_chrome_path --disable-web-security
这样做之后$ .ajax工作正常。