基本上我想做的是获取一个包含t.php的数组,并使用带有t.php响应的JavaScript提醒它。
问题是该文件中不存在该变量... 那么,你如何将这个变量传递给JS?
我试过'return':
return $sqlData = $q->query_array_assoc();
但是不起作用。
这是我的$ .ajax代码:
<script type="text/javascript">
$(document).ready(function(){
$('#brand').change(function(e){
console.log(e);
$.ajax({
method: "GET",
url: "t.php",
data: { type: 1, brand: this.value }
})
.done(function(msg){
$('#debug').html(msg);
var pArray = <?php echo json_encode($sqlData);?>
for (var i = 0; i < pArray.length; i++) {
alert(pArray[i]);
};
});
});
</script>
注意:我已发送
data: { type: 1, brand: this.value }
验证.php文件中的switch语句,但没有问题。我从数据库中获取数据并获取变量$sqlData;
所以数组有数据,问题是$.ajax
答案 0 :(得分:1)
请制作2个文件,“t.php”文件和“t.html”文件,并在那里添加我的代码。运行代码并查看响应。您只需使用响应即可通过逗号“,”!!!
获取值/ ********************更新*********************** / < / p>
// t.php
<?php
$a = array();
$a[]=1;
$a[]=2;
$a[]=3;
echo "$a[0],$a[1],$a[2]";
?>
// t.html
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
function fun(){
$.ajax({
method: "GET",
url: "t.php",
data: { },
dataType: "html", //expect html to be returned
success: function(response){
//$("#debug").html(response); //Outputs the html of php file into #dialog div
alert(response);
document.getElementById("debug").innerHTML = (response); //Outputs the html of php file into #dialog div
}
})
}
</script>
<button onclick="fun()">Call Ajax Fun</button>
<div id="debug"></div>
这有帮助吗?
答案 1 :(得分:1)
在你的php文件中,你需要回声而不是返回
echo json_encode($q->query_array_assoc());
在javascript代码中:
$.ajax({
method: "GET",
url: "t.php",
data: { type: 1, brand: this.value },
success: function(data) {
$('#debug').html(data);
// if you want to use it as array
var json_data = JSON.parse(data);
}
});