0

我的函数返回未定义,我不确定如何找到我要查找的数据。

function getCustomerName(){

       var account = localStorage.getItem("account");

       $.post("http://127.0.0.1/getCustomer.php", {account:account}, function(data) {

              alert('Inside getCustomer' + ' ' + data);

       } ,"json");

}

而 getCustomer.php 返回

{"nameCustomer":[{"Alarms":"0","Name":"Jane Doe"}]}

任何帮助,将不胜感激。

4

2 回答 2

0

您的 JavaScript 实际上看起来不错。你在那里有一个回调函数。请记住,datatype参数指定从服务器返回的返回类型,而不是发送到服务器的参数类型。确保您的服务期望 JSON 作为参数。还要验证您对account表单 localStorage 的检索是否正确返回了有效值。

于 2013-01-18T17:26:55.957 回答
0

因为调用是异步的,所以当 getCustomerName 执行完成时,数据不会从服务器返回。getCustomerName 需要带一个回调函数:

function getCustomerName(onNameRetrieved){
   var account = localStorage.getItem("account");

   $.post("http://127.0.0.1/getCustomer.php", {account:account}, function(data) {
       onNameRetrieved(data) //or more likely something like onNameRetrieved(data['nameCustomer'][0]['name'];
   } ,"json");
}

然后你调用 getCustomerName 像

getCustomerName(function (name) {
    alert('The actual name is ' + name);
})
于 2013-01-18T18:09:46.503 回答