使用jquery响应调用webservice时为0

时间:2012-07-06 11:37:56

标签: jquery web-services cordova

我想在phonegap应用中使用jquery访问Web Service。但回应得到0

这是我的代码

     $(function () {

            $("#callAjax").click(function () {
                $.ajax({
                    type: "POST",
                    //url: "http://ws.geonames.org/postalCodeSearchJSON?postalcode=90210&maxRows=10",
                    url: " http://64.15.136.251:8080/onestatus/webservice/login?email=kk@kk.com&password=123456",
                    // data: ({ name: theName }),
                    data: ({}),
                    cache: false,
                    //dataType: "text",
                    dataType: "json",
                    success: onSuccess
                });

            });

            $("#resultLog").ajaxError(function (event, request, settings, exception) {
                $("#resultLog").html("Error Calling: " + settings.url + "<br />HTPP Code: " + request.status);
            });

            function onSuccess(data) {
                var result = $.parseJSON(data);
                var arrayObject = new Array();
                for (i = 0; i < result.user.length; i++) {
                    $('#employeeList').append('<li>' + result.user[i].response + '</li>');
                    $('#employeeList').append('<li>' + result.user[i].user_id + '</li>');
                    $('#employeeList').append('<li>' + result.user[i].session_id + '</li>');
                }
 }

        });

我的代码中有任何问题

2 个答案:

答案 0 :(得分:1)

请试试这个

$.ajax({
            type: "POSt",
            url: "http://64.15.136.251:8080/onestatus/webservice/login",
            data: "{email:'kk@kk.com',password:'123456'}",
            contentType: "application/json; Characterset=utf-8",
            dataType: "json",
            async: true,
            success: function (data) {
                alert(data);
            },
            error: function (request, status, error) {
                alert("Exception Handling :  \n" + request.responseText);

            }
        });

答案 1 :(得分:1)

您不需要解析您的URL返回的Json,它已经直接嵌入,它将由浏览器正确处理。

这个{}表示JSON中的对象。

这一个:

  var result = $.parseJSON(data);
            var arrayObject = new Array();
            for (i = 0; i < result.user.length; i++) {
                $('#employeeList').append('<li>' + result.user[i].response + '</li>');
                $('#employeeList').append('<li>' + result.user[i].user_id + '</li>');
                $('#employeeList').append('<li>' + result.user[i].session_id + '</li>');
            }

试试这样的解析:

var arrayObject = new Array();
            for (i = 0; i < data.user.length; i++) {
                $('#employeeList').append('<li>' + data.user[i].response + '</li>');
                $('#employeeList').append('<li>' + data.user[i].user_id + '</li>');
                $('#employeeList').append('<li>' + data.user[i].session_id + '</li>');
            }

你也可以使用jQuery方式做同样的事情:

  function onSuccess(data) {

            $.each(data.user, function(i, object) {
                $.each(object, function(property, value) {
                    alert(property + "=" + value);
                    $('#employeeList').append('<li>' + value+ '</li>');
                });
            });
        }