1

我想在 phonegap 应用程序中使用 jquery 访问 Web 服务。但响应为 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>');
                }
 }

        });

我的代码有什么问题

4

2 回答 2

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);

            }
        });
于 2012-07-06T12:03:35.070 回答
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>');
                });
            });
        }
于 2012-07-06T12:33:16.733 回答