1

デモを表示する小さなpythonアプリを作成しました。

HTML

<html>
<body>
    <button id="button"> Click for JSON Response </button>
    <div id="update"></div>
<script src="{{url_for('static', filename='jquery-1.8.3.js')}}"></script>
<script type="text/javascript">
    $("#button").on('click', function(e){
        $.ajax({
            type: "POST",
            url: "http://localhost:8888/json",
            success: function(msg){
                $("#update").html(msg['msg']);
            }
        });
    });
</script>

ボタンをクリックすると、 servermsgから得られます。ただし、モバイルでは、次のエラーが発生します。

POST http://localhost:8888/json  jquery-1.8.3.js:8434
send jquery-1.8.3.js:8434
jQuery.extend.ajax jquery-1.8.3.js:7986
(anonymous function) 192.168.0.101:8
jQuery.event.dispatch jquery-1.8.3.js:3058
elemData.handle.eventHandle

$.ajaxandroid 4.2.2 の chrome android モバイル ブラウザでサブミットが失敗します。

編集

1.adb forward tcp:9222 localabstract:chrome_devtools_remote 次に、ポート番号 (8888) を持つマシンの IP アドレスを介してアクセスしhttp://localhost:9222、ラップトップにアクセスしてコンソール ログを取得しました。
2. $.ajax に console.log(err) を追加した後、コンソールのエラー メッセージは

Object {readyState: 0, setRequestHeader: function, getAllResponseHeaders: function,      getResponseHeader: function, overrideMimeType: function…}
abort: function ( statusText ) {
always: function () {
complete: function () {
done: function () {
error: function () {
fail: function () {
getAllResponseHeaders: function () {
getResponseHeader: function ( key ) {
overrideMimeType: function ( type ) {
pipe: function ( /* fnDone, fnFail, fnProgress */ ) {
progress: function () {
promise: function ( obj ) {
readyState: 0
responseText: ""
setRequestHeader: function ( name, value ) {
state: function () {
status: 0
statusCode: function ( map ) {
statusText: "error"
success: function () {
then: function ( /* fnDone, fnFail, fnProgress */ ) {
__proto__: Object
4

1 に答える 1

0

リクエスト データをトンネリングする場合は、Chrome Canary に移動する必要があります。chrome://experiments に移動してから、「Enable Dev Tools experiments」

Devtools Experiment を有効にする

次に、開発ツールで設定に移動します

設定

実験に移動し、ポート転送を有効にします。

ここに画像の説明を入力

リフレッシュ。

次に chrome://inspect (デバイスを接続した状態で) に移動し、そのページの devtools に移動します。

そして、「ポートフォワーディング」を選択します

ポート転送

そして、「デバイス ポート」のマップをテスト サーバーの IP アドレスとポートに追加します。

于 2013-05-29T17:45:48.830 に答える