【发布时间】:2016-10-09 02:52:42
【问题描述】:
我正在使用 Phonegap 来构建我的 iOS/Android 应用程序 - 基本上是一个可以模拟笔记本电脑键盘上的几个键的遥控器。 (控制视频播放等)。
因为它是一个网页,所以我有一些图像,当单击它们时,它们会连接到我笔记本电脑上的 Java Socket 服务器。我面临的问题是,每次我单击一个按钮 - 仅一次(如暂停按钮),我看到在 java 控制台中触发了多个请求。 但这只有在我点击(触摸)手机时才会发生。当我在笔记本电脑的浏览器中尝试相同的操作时,它的行为符合预期(只有一个请求)。
我浏览了几篇帖子,一般建议是使用“unbind()”和“off()”,但似乎没有任何效果。代码 sn-p 如下。
$("#play").off().on('click',function(){
//alert("Play");
jQuery.ajax({
type: "GET",
async: true,
url: 'http://'+ip+':10007/function=play?',
success: function (msg)
{ },
error: function (err)
{ }
});
});
我使用该警报来检查事件是否被多次触发。警报仅弹出一次,这意味着该事件仅触发一次。 所以它只是一次点击(触摸)=>一个事件=>但是多个请求!
我正在用这段代码检查服务器响应:
while(true) {
Socket sock = servsock.accept();
System.out.println("Connection from: " + sock.getInetAddress());
Scanner in = new Scanner(sock.getInputStream());
PrintWriter out = new PrintWriter(sock.getOutputStream());
String request = "";
while (in.hasNext()) {
request = in.next( );
if (request.contains("function="))
{
inputLine = request.split("function=")[1];
System.out.println ("^^^^^" + inputLine);
...
当从移动设备请求时,输出会在控制台中出现三次,但当从我的笔记本电脑的浏览器发出请求时,只会出现一次。
我不明白为什么,也不知道如何预防。 有什么指点吗?
【问题讨论】:
标签: jquery mobile onclick phonegap-build