【发布时间】:2015-08-07 10:03:28
【问题描述】:
基本上我想要做的是获取一个包含 t.php 的数组,并使用 JavaScript 以 t.php 的响应来警告它。
问题是该文件中不存在该变量... 那么,如何将这个变量传递给 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得到它
【问题讨论】:
-
不可能。 HTTP 对 php 结构一无所知,它只知道“字节”。这样一大块字节中的 php 数组将是文字“数组”。你需要序列化/编码你的数组。对于 JS,最简单的方法是
json_encode()。请注意,您在 JS 代码中的 php sn-p 是没有意义的。 PHP 在页面生成时执行 ONCE 并且永远不会再执行。 -
另外,你应该使用 'echo' 或 'print' 而不是 't.php' 中的 'return' 来为你的 js 返回一些结果 =)
-
好的,那么...假设您如何使用 MySQL 查询进行嵌套选择?你知道怎么做吗?
标签: javascript php jquery ajax