2013-08-13 3 views
8

In Ordnung, ich verwende Chrom Version 28.0.1500.95 m und JQuery 1.9.1.Chrome Senden von Unsinn durch Ajax über JQuery

Was ich tue ist mit .get, um einen kurzen Byte-Befehl an einen Mikrocontroller zu senden. Allerdings werden in Chrome aus irgendeinem Grund eine Menge anderer Bytes zusammen mit meinem Befehl gesendet.

Zum Beispiel hier ist das, was Firefox sendet: 255 246 240

Hier ist, was Chrom aus der gleichen Code Quelle sendet: 196 229 164 230 229 134 134 134 163 228 227 229 196 198 135 228 164 135 132 135 132 68 164 132 132 133 164 01 128 103 225 135 132 197 199 230 199 132 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

** bearbeiten Ich habe das mit der falschen Baudrate gelesen. Es gibt wirklich den Bytewert für den Satz "GET /JS/jquery.min.map HTTP/1.1" ("/www/JS/jquery.min.map"): Dokument geöffnet: Keine solche Datei oder Verzeichnis "plus die Bytes, dass es am Ende entsenden soll.

Sie werden bemerken, dass mein Befehl am Ende ist so vielleicht das eine Art seltsamen Kopfes ist.

im Folgenden ist die Methode, die diesen ajax-Aufruf macht.

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

Dies würde nicht diese als ungültige Befehle und kehrt um zehn Nullen ein Problem, aber meine Mikrocontroller lesen sein. Jede mögliche Hilfe würde geschätzt.

Dank

EDIT

Firefox-Request-Header:

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 Anforderungsheader:

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 Response-Header:

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 Response-Header:

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 

bearbeiten

Ich denke, das ist das Paket, das das Problem verursacht:

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> 

Dies ist das Paket von meinem eigentlichen Befehl ein:

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, 

Irgendwie greifen diese beiden Pakete ineinander und werden vielleicht am Backend kombiniert? Ich bin mir nicht sicher. Es ist auf einem Boa-Server, also bin ich mir nicht sicher, was ich alles tun kann, um die Pakete zu überprüfen.

Ich reparierte das Problem, indem ich zurück zu jquery 1.8 ging.

+1

Ihre URL-Parameter sehen korrekt nicht suchen. Probieren Sie '" /cgi-bin/runcommand.sh?random= "+ Math.floor (Math.random() * 1000) +" & cmd = 254,124,1r10t300 "" – cfs

+0

Nein, das ist Teil der API für mein Gateway. Wir extrahieren die Zufallszahl am Backend – Poodimizer

+1

Wie bestimmen Sie, was Firefox/Chrome "sendet" (die Gruppierung von Zahlen)? – Rob

Antwort

Verwandte Themen