2013-10-11 18 views
5

を働いていないAJAXで#値を渡す:私はweinreは、DOM準備でこれを呼び出すことによって、Ajaxを介して、作業を取得しようとしています

$.ajax({ 
    url: 'http://debug.build.phonegap.com/target/target-script-min.js#hutber', 
    dataType: "script", 
    crossDomain: true, 
    error: function(data){ 
     c(data.status); 
    }, 
    success: function(data){ 
     c(data); 
    } 
}); 

さて、これは送信されているものです。

http://debug.build.phonegap.com/target/target-script-min.js?_=1381476442102 

私がデバッグするためには、ランダムに生成されたIDを使用する必要があることを意味します。私もこれを試しました:url: 'http://debug.build.phonegap.com/target/target-script-min.js?_=hutber',暗闇の中でちょうど撮影。

私は、#hutberが要求と共に正しく送信されていないと考えて書きますか? $アヤックスを使用して

編集

だけで簡単に考えたのは、私はhttpリクエストを経由して、動的にスクリプトをロードしていますことを意味します。 Quentinが述べたように、クライアント側には#varsを渡すことはできません。私が体の中に要素を追加した場合、ページのロードにあったかのように、私はパスを渡すことができることが私に発生しました:

var s = document.createElement('script'); 
s.setAttribute("src","http://debug.build.phonegap.com/target/target-script-min.js#hutber"); 
document.getElementsByTagName('body')[0].appendChild(s); 

さて、物事は少し良くうまくいかなければならない、これをテストすることはできませんしかし、携帯電話の理論。しかし、指が交差した。

答えて

7

はいといいえ。#hutberはリクエストと一緒に送信されていないと考えていますが、これが間違っていると誤解しています。

URLのフラグメント識別子部分は純粋にクライアント側で処理されるため、決してサーバーに送信しないでください。

サーバーが処理するURLにデータを添付する場合は、クエリ文字列(文字で始まり、#文字ではないもの)を使用します。クエリ文字列とフラグメント識別子の両方がある場合、クエリ文字列はとなり、最初にになるはずです。

ajaxに渡すオブジェクトにdataプロパティを含めると、jQueryによってクエリ文字列が生成されます(ここではGETを使用している場合)。

data { "_": "hutber" } 
+0

これは私の正確な考えでした。私はデータとして渡すことを試みたが運がない。今私は信じているphonegapの人々とそれを取るために時間: –

+0

更新された質問を参照して、助けるかもしれない考えがあった:) –

関連する問題