2012-03-02 12 views
3

最近JQTouchでWebベースのアプリケーションを作成し始めました。このアプリケーションでは、ボタンが押されたとき、Apacheを実行するLinuxサーバーからxmlファイルを取得するajaxリクエストを作成しています。 Wi-Fiでアプリを実行すると、すべてがうまくいっています。私が3gを超えてボタンを押すと、それもロードされます。しかし、私が戻ってボタンをもう一度押すと、エラー412で警告が表示されます:前提条件は失敗しました。私は、このエラーについてインターネットで検索したと私は私のサーバー上のmod_securityを無効にする必要がありますことを発見し、それがエラーを解決しない:(xml Ajaxリクエストを作成するときにエラーが発生する

ここに私のAjaxのリクエストがあります:

$.ajax(
{ 
    type: "POST", 
    cache: false, 
    url: "http://draughtsonline.no-ip.org/ArtObject/catalogus/catalogus.xml", 
    dataType: "xml", 
    success: function(xml) 
    { 
     // do stuff with the xml file 
    }, 
    error: function(xhr, ajaxOptions, thrownError) 
    { 
     alert(xhr.status); 
     alert(thrownError); 
    }, 
    async: false 
}); 

私は本当にそれが悪いのか分からない。誰も私を助けてくださいもらえますか?事前に

感謝を!

+0

私がGETするPOSTからの方法を変更することで問題を解決したようまあ、それが見えます。私はGETを使用するときにいくつかのキャッシングの問題があったので、投稿を使用しました。私はxmlファイルを調整したとき、私はGETを使用したときに新しいxmlファイルを取得しませんでしたが、古いものはありません。私はキャッシュを使用してこれを回避しました:falseパラメータ:) POSTがこのエラーを出す理由を教えてくれる人がいますか? – Devos50

答えて

5

をあなたはjQueryのクロスドメインを使用して投稿することはできません。これではJavaScriptのセキュリティ機能です。

代わりにPOSTとXMLの代わりにGETとJSONPを使用するか、相対URLを使用します。

詳細情報:

+0

これは明らかです!あなたの答えをありがとう! :) – Devos50

関連する問題