0

Mozilla と IE では正常に動作していますが、何らかの理由で chrome では動作しません。Chrome では、エラー コード 0 を返すたびにエラー コールバックが実行されます。Stackoverflow に関する多くの記事で、すべての主要なブラウザーがフォームではなく AJAX を介して "PUT" メソッドをサポートする方法が繰り返されています。Chromeは例外のようです.....

JavaScript

     function works(){alert("working");} // just a success callback

    $(document).ready(function(){

    $("#crudForm").submit(function(){
        $.ajax({url:"/UtilityDashboard/MeasurementNodes",
            data:parseFormData("crudForm"),
            cache: "false",
            async: "false",
            dataType: "text",
            contentType: "application/x-www-form-urlencoded",
            type:"put",
            success: works(),
            error:function(xhr){alert(xhr.status + xhr.statusText);} });
    });      

    });

HTML

    <form id="crudForm">
       Name<BR/>
       <input type="text" name="name"/><BR/><BR/>
       Node Id<BR/>
       <input type="text" name="node_id"/><BR/><BR/>
       Type<BR/> 
       <input type="text" name="type"/><BR/><BR/>
       Parent<BR/> 
       <input type="text" name="parent_id"/><BR/><BR/>
       Longitude<BR/> 
       <input type="text" name="longitude"/><BR/><BR/>
       Latitude<BR/>
       <input type="text" name="latitude"/><BR/><BR/>           
       Description<BR/>          
       <textarea name="description" rows="5" cols="40">Insert description of measurement node here</textarea><BR/><BR/>           
       <input type="submit" value="Add Node"/>

    </form>
4

1 に答える 1

0

だからユージーンオーゴッドなぜ正しかったのか。Chromeは、XMLHTTPRequestオブジェクトの「put」メソッドをサポートしています。

解決

「送信」イベントを使用してフォームデータを送信するのをやめ、代わりに「クリック」イベントに依存したときに、発生していた問題は解消されました。これにより、送信後にchromeがフォーム変数を現在のURLに追加するという他の問題が解決されました。これは、event.preventDefaultを使用することでも解決できた可能性があります。

于 2012-09-26T14:25:16.843 に答える