わかりました、私はクロム バージョン 28.0.1500.95 m と JQuery 1.9.1 を使用しています。
私がやっていることは、.get を使用して短いバイト コマンドをマイクロコントローラーに送信することです。ただし、何らかの理由でクロムでは、他の多くのバイトがコマンドとともに送信されています。
たとえば、Firefox が送信する内容は次のとおりです: 255 246 240
Chromeが同じコードから送信しているものは次のとおりです。19629 164 230 229 134 134 134 163 228 227 198135 228 164 135 135 132 132 68 164 132 132 133 164 01 68 00 224 228 164 196 229 165 229 35 231 132 164 230 198 231 134 164 230 132 167 196 228 132 135 228 135 227 164 164 134 197 134 228 133 196 133 133 167 102 255 246 240
**編集私は間違ったボーレートでそれを読んでいました。実際には、「GET /JS/jquery.min.map HTTP/1.1」("/www/JS/jquery.min.map"): document open: No such file or directory" という文のバイト値と、最後に送信する必要があるバイト。
私のコマンドが最後にあることに気付くでしょう。おそらく、これはある種の奇妙なヘッダーです。
以下は、この ajax 呼び出しを行うメソッドです。
function SendUpdateCommand()
{
$.get(
"/cgi-bin/runcommand.sh?" + Math.floor(Math.random() * 1000) + ":cmd=254,124,1r10t300",
{},
function (responseText) {
var response = decodeURI(responseText || "no response text");
alert(response);
var returnValue = response.split("\n");
var bankStatus = returnValue[1].substring(0, returnValue[1].length-1);
var val = Number(bankStatus);
UpdateBankStatus(val);
},
"html"
);
}
これは問題にはなりませんが、私のマイクロコントローラーはこれらを無効なコマンドとして読み取り、約 10 個のゼロを返します。どんな助けでも大歓迎です。
ありがとう
編集
Firefox リクエスト ヘッダー:
GET /cgi-bin/runcommand.sh?401:cmd=254,124,1r10t300 HTTP/1.1
Host: 192.168.2.25
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
X-Requested-With: XMLHttpRequest
Referer: http://192.168.2.25/test.html
Connection: keep-alive
Chrome リクエスト ヘッダー:
GET /cgi-bin/runcommand.sh?375:cmd=254,124,1r10t300 HTTP/1.1
Host: 192.168.2.25
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
Referer: http://192.168.2.25/test.html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Firefox 応答ヘッダー:
HTTP/1.1 200 OK
Date: Tue, 30 Nov 1999 00:05:11 GMT
Server: Boa/0.94.14rc21
Accept-Ranges: bytes
Connection: close
Content-Type: text/plain
Chrome 応答ヘッダー:
HTTP/1.1 200 OK
Date: Tue, 30 Nov 1999 00:00:10 GMT
Server: Boa/0.94.14rc21
Accept-Ranges: bytes
Connection: close
Content-type: text/plain
編集
これが問題を引き起こしているパケットだと思います:
GET /JS/jquery.min.map HTTP/1.1
Host: 192.168.2.25
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
HTTP/1.1 404 Not Found
Date: Tue, 30 Nov 1999 19:10:14 GMT
Server: Boa/0.94.14rc21
Accept-Ranges: bytes
Connection: close
Content-Type: text/html; charset=ISO-8859-1
<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD>
<BODY><H1>404 Not Found</H1>
The requested URL /JS/jquery.min.map was not found on this server.
</BODY></HTML>
これは私の実際のコマンドからのパケットです:
GET /cgi-bin/runcommand.sh?241:cmd=170,3,254,124,1,40r4t300 HTTP/1.1
Host: 192.168.2.25
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
Referer: http://192.168.2.25/test.html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
HTTP/1.1 200 OK
Date: Tue, 30 Nov 1999 19:10:15 GMT
Server: Boa/0.94.14rc21
Accept-Ranges: bytes
Connection: close
Content-type: text/plain
OK
170,11,0,0,
どういうわけか、これら 2 つのパケットが互いに干渉し、バックエンドで結合されている可能性がありますか? わからない。ボアサーバー上にあるため、パケットのエラーチェックについて何ができるかわかりません。
jquery 1.8に戻すことで問題を解決しました。