JQuery mobile $ .post未定义

时间:2013-01-18 16:05:07

标签: cordova jquery-mobile

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

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"}]}

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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);
})