レディース/メンズ:
ChromeとFireFoxで正常に機能する$.postを実行します。IE-それほど多くはありません...成功コールバック(addTicketAndRender())はヒットしません:
POSTを使用してIEに対して「キャッシュバスティング」を実行する必要があることについて何か読んだことがありますが、これは比較的新しいので、それが適切な方法であるかどうか、適切な場合はその方法がわかりません。
ソース:
function addTicketAndRender(incomingTicket) {
console.log("Add and Render");
alert(incomingTicket);
}
$(document).ready(function() {
console.log('ready');
// variables to feed trusted ticket retrieval
var trustedURL = "http://tableau.russellchristopher.org/trusted",
userName = "foo",
serverURL = "http://tableau.russellchristopher.org/";
$.post(trustedURL, {
username: userName,
server: serverURL,
client_ip: "",
target_site: "",
cache: "false"
}, function(response) {
addTicketAndRender(response);
});
});
少し助けてください?
Update1:これをajax投稿に切り替えました:違いはありません。ChromeとFirefoxではまだ良好ですが、IEではまだ機能していません。
$.ajax( {
url : trustedURL,
type: "POST",
data : {
username : userName,
server : serverURL,
client_ip : "",
target_site : ""
},
cache : false
} ).done( addTicketAndRender );
Update2:統合された追加のキャッシュバスティング技術。同じ動作-Chrome/FFは機能しますが、IEからは何もありません-Fiddlerを使用すると、http://jsfiddle.net/AeQxJ/3//から以下のコードを実行するとPOSTが出力されるのを確認できます。IEでは、それは決して起こりません。jsfiddleの外部でテストし、同じ結果を確認します。次のステップ:ブラウザの設定に触れていないボックスでテストして、自分の側で愚かなIEブラウザの設定を除外します。
function addTicketAndRender(incomingTicket){
alert(incomingTicket);
}
$(document).ready(function() {
// variables to feed trusted ticket retrieval
var trustedURL = "http://tableau.russellchristopher.org/trusted",
userName = "foo",
serverURL = "http://tableau.russellchristopher.org/";
var number=Math.floor(Math.random()*1);
$.ajax( {
url : trustedURL + "?" + number,
type: "POST",
data : {
username : userName,
server : serverURL,
client_ip : "",
target_site : ""
},
cache : false
} ).done( addTicketAndRender );
});
更新4: IEのコピーを問題として除外しました。POSTにエラートラップコードを追加しました。IEで実行している場合にのみ、次のようにスローされます。
error: function(xhr, textStatus, error){
alert(xhr.statusText);
alert(textStatus);
alert(error);
//output:
// xhr.StatusText: No Transport
// testSttus: Error
// error: No Transport
「IENoTransportjquery POST」で検索すると、次のようになります。
jQueryのWebサービス呼び出しで「トランスポートなし」エラーが返される
投稿は、追加jQuery.support.cors = true;
すると問題が解決するはずだと示していますが、解決するとエラーが返されます。
//output:
// xhr.StatusText: Error: Access is denied
// testSttus: Error
// error: Error: Access is denied