1

IP アドレス 192.168.1.1 にネットワーク接続されたオシロスコープと接続しようとしています。それは、より良い言葉がないために、ひどいウェブサーバーを内蔵しています。たくさんの がiframeあり、IE でのみ完全に動作します。私は、オシロスコープと簡単に連携し、HighcartsJS を使用してリアルタイムで波形を表示できるオープンソースの Web アプリケーションを構築中です。

とにかく、このコードを Internet Explorer で実行しようとしています (Chrome で実行したいのですが) うまくいきません:

REMOVED BECAUSE IT HAD SILLY MISTAKES

Internet Explorer でファイルを開くと、localhost が 192.168.1.1 ではないにもかかわらず、URL が localhost に書き換えられていることがわかります。localhost と入力すると、ローカル Web サーバーに移動します (そのため、理解できる場合は、PHP を使用してこの POST を実行することにオープンです)。

どんな洞察も大歓迎です。読んでくれてありがとう。

編集: Wireshark からの TCP ストリームは次のとおりです。

POST /Comm.html HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: 192.168.1.1/Comm.html
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Content-Type: text/plain
Accept-Encoding: gzip, deflate
Host: 192.168.1.1
Content-Length: 38
DNT: 1
Connection: Keep-Alive
Cache-Control: no-cache
COMMAND=CURVe?
gpibsend=Send
name=
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
MIME-Version: 1.0
Connection: close
Content-Type: text/html
Date: TUE --
Content-Length: 8506
<HTML>..NUMBERS/HTML CUT OUT TO SAVE SPACE....22,22,22,2</HTML>

ここまでの結論: 自分のコードに複数の問題があることに気付きました。ただし、これは機能します。

$.ajax(
    {
        url: 'link',
        dataType: 'text',
        type: 'post',
        data: {command: 'BEL',
                gpibsend: 'Send'},
    })

しかし、これはそうではありません: TCP トレースで詳細に説明されているように、応答を読み取ろうとしています:

$.ajax(
    {
        url: 'http://192.168.1.1/Comm.html',
        dataType: 'text',
        type: 'post',
        data: {command: 'ZOOM:HORIZONTAL:SCALE?',
                gpibsend: 'Send'},
        success: function(data)
        {
            window.alert(data)
        }
    })
4

2 に答える 2

0

誰かがGoogleでこれに出くわした場合に備えて、これについてフォローアップしたかった. ここには複数のオプションがあります。

  1. ドメインで Web サイトをホストし、hosts ファイルを編集して、Web サイトのドメインのサブドメインを LAN IP アドレスにポイントします。

  2. VPN を作成し、静的 IP アドレスからすべてのマシンにアクセスする

  3. セキュリティ機能を無効にしてブラウザを実行する

  4. オシロスコープでドメインネームサーバーを変更できる場合は、独自の DNS をホストし、指定されたアドレスを LAN 接続に解決します。

  5. コンピューターで LAMP/WAMP サーバーを実行し、PHP を介して (サーバーから) AJAX 経由で呼び出しを行います。

于 2013-11-23T07:16:37.393 に答える