【发布时间】:2013-03-17 14:21:57
【问题描述】:
我的脚本有问题
问题是,如果我有一个通过 post 获得的 json 数组并且我想 将其设置为公共数组,以便我可以在我的函数之外使用它。 这是我的代码。
HTML代码:
<input name="myValue">
jQuery 代码:
var myArray = newArray();
$(document).ready(function(){
$('input[name="myValue"]').foucusout(function(){
var postValue = $(this).val();
$.post('myPhp.php',{post:postValue},function(data){
var JsonArray = $.parseJSON(data);
myArray = JsonArray;
};
}):
PHP 代码;
<?
if(isset($_POST["post"])){
$myVal = $_POST["post"];
$db = mysql_query("SELECT * FROM parts WHERE code = '$myVal'");
$result = mysql_fetch_array($db);
echo json_encode($result);
}
?>
这不是设置 myArray。 我做错了什么?
编辑
jQuery 代码:
var myArray = new Array();
$(document).ready(function(e) {
$('input[name=myValue]').focusout(function(e) {
var myPost = $(this).val();
$.post('myPhp.php',{part:myPost},function(data){
myArray = $.parseJSON(data);
alert(myArray[2]);
});
});
$('button[name=getArrayValue]').on("click",function(){
alert(myArray[3]);
});
});
HTML 代码
<input name="myValue">
<button name="getArrayValue">Get</button>
当我关注输入字段时,我从数组中获取第二个值的警报,当我按下按钮时,我从第三个数组位置获取值。 所以它现在正在工作。
感谢大家的帮助。
【问题讨论】:
-
您正在使用已弃用的库和 sql-injection 易受攻击的代码
-
控制台有错误吗?任何 PHP 错误?你确定 MySQL 查询实际上是在选择什么吗?
-
在查询之前您甚至没有连接到数据库。
-
我将数据发送到我的 jquery,如果我在帖子中提醒 JsonArry,我会看到我从 php 获得的数据,但如果我在 postfuncrion 之外提醒 myArray,我会得到未定义。
-
你把那个警告声明分别放在了哪里。 什么时候你叫它...?