我的剧本有点麻烦
问题是,如果我有一个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>
当我将焦点输出到输入字段时,我从数组中得到警告白色我的第二个值,当我按下按钮时,我从第三个数组位置获取值。 所以它现在正在运作。
感谢每个人的帮助。
答案 0 :(得分:0)
在查询之前,您没有连接到数据库。如果你没有连接到数据库,查询怎么能选择一些东西?
在查询之前添加:
$username = //your DB username
$password = //your DB password
mysql_connect("localhost", $username, $password);
您确实应该使用不推荐使用的API,例如PDO或MySQLi。
修改强>
这很简单:AJAX调用是异步的,因此在运行focusout处理程序后设置数组。这就是关注重点: