0

我在 phonegap 中有一项任务,即注册页面,如果使用单击注册页面意味着值将到达 url,并且用户是否已经可用,则意味着它将数据作为 json 返回。我使用的以下代码:

$(document).ready(function(){
    $('button').click(function(){
        var username = $('#uid').val();
        var email=$('#email').val();
        var password=$('#pass').val();
        var firstname = $('#first').val();
        var lastname=$('#last').val();
        var dob=$('#dob').val();

        var param = 'username=' + username + '&email=' + email +'&password='+password+'&firstname='+firstname+'&lastname='+lastname+'&dob='+dob;
        alert("hi");
        alert(param);
        $.ajax({
            url: "http://demourl/api/reg.php?",
            type: 'GET',
            data: param,
            success: function(result) {
                alert('success');
            },
            error: function(result) {
                alert("jQuery Error:" + result.statusText);
            }
        });
    });
});

来自 reg.php 的响应是这样的:[{"error":"Email is taken"}]

在这里我不知道如何解析数据?请帮助我

4

3 回答 3

0

据我了解,您要求

" 返回数据如下:[{"error":"Email is taken"}]

在这里我不知道如何解析数据?……”

因此,可能会期待这个,

var data = {"error":"Email is taken"}; 

for(var key in data)
{ 
  console.log('key name: ' + key + ' value: ' + data[key]); 
} 
于 2013-07-15T13:29:41.820 回答
0

检查下面的代码

$(document).ready(function(){
    $('button').click(function(){
        var username = $('#uid').val();
        var email=$('#email').val();
        var password=$('#pass').val();
        var firstname = $('#first').val();
        var lastname=$('#last').val();
        var dob=$('#dob').val();

        var param = 'username=' + username + '&email=' + email +'&password='+password+'&firstname='+firstname+'&lastname='+lastname+'&dob='+dob;
        alert("hi");
        alert(param);
        $.ajax({
            url: "http://demourl/api/reg?",
            type: 'GET',
            data: param,
            success: function(result) {
                var parseJson = $.parseJSON(result);
                console.log(result);
            },
            error: function(result) {
                var parseJson = $.parseJSON(result);
                alert("jQuery Error:" + parseJson.error);
            }
        });
    });
});
于 2013-07-15T13:22:39.587 回答
0

你可以做这样的事情

...
error: function(result) {
  var parsedJSON = $.parseJSON(result);
  alert(parsedJSON.error);
}
于 2013-07-15T13:22:48.880 回答