3

任何人都可以帮助我。我正在使用 phonegap 应用程序在 Jquery-mobile 中工作。如何在从服务器获取 ajax 响应的同时附加数据?这里有超过800 kb的数据以Json 格式从服务器检索。

这是我的代码:

$.ajax({        
    url:url,
    data:'',
    contentType: "application/json; charset=utf-8",
    type: "POST",
    dataType: "json",
    crossDomain:true,
    cache: false,
    async:false,
    //success: loadAllCars,

    success:function(data){
       //alert(data)
    },
    error: OnError
}); 

我想同时获取从服务器获取的数据,例如:

我有超过 800 KB 大小的数据,当它获得 10 KB 大小的 800 KB 数据时,我需要同时获取它以减少附加延迟并避免用户等待

4

2 回答 2

1

在这种情况下 JSON 无效。所以你不能这样做:(

在任何情况下,您都可以显示加载进度。

如何在 jQuery 中显示加载微调器?

于 2013-05-24T06:25:45.300 回答
1

无法使用 JSON,因为所有数据对象都包含在{}和中[]。这意味着您必须等到文件末尾,直到解析器知道如何处理它(即如何构造对象)。

也许您可以使用不同的编码,“按原样”发送所有数据;de order 很重要,但不会有“结束”标记(例如}and ])。

使用该XMLHTTPRequest.onreadystatechange()方法触发每个接收到的具有 readyState 的数据块3,您可以读取XMLHTTPRequest.resonseText. 然后,如果您正在发送对象,则必须自己创建一个智能缓冲区,或者如果只是文本,则直接使用显示数据。

我不认为你可以用jQuery.ajax()方法做到这一点,但直接方法并不难。

顺便一提; 您还必须确保您的服务器不时刷新数据,以防它必须在本地使用大量资源。例如; 在进行大量计算时,每个结果都可以刷新到客户端,同时服务器处理下一个结果。

于 2013-05-24T07:15:52.500 回答