デモを表示する小さな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
$.ajax
android 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