如何在手机间隙中点击网址并使用jquery解析结果?

时间:2013-07-15 13:11:17

标签: javascript jquery ajax jquery-mobile cordova

我在phonegap中有一个任务,即注册页面,如果使用点击注册页面意味着值将打到网址,如果用户是否可用,则意味着它将数据返回为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"}]

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

3 个答案:

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

答案 1 :(得分:0)

你可以做这样的事情

...
error: function(result) {
  var parsedJSON = $.parseJSON(result);
  alert(parsedJSON.error);
}

答案 2 :(得分:0)

根据我的理解,你已经要求

“这样的返回数据:[{"error":"Email is taken"}]

这里我不知道如何解析数据? ......“

因此,可能会期待这一个,

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

for(var key in data)
{ 
  console.log('key name: ' + key + ' value: ' + data[key]); 
}