我在將「發佈」到不同站點作爲會話轉移到我正在使用的公司的一部分時遇到了問題。他們要求我們通過查詢字符串中的會話令牌(是的,請求中沒有主體)通過「發佈」請求導航到他們的網站。發佈到不同的域偶爾失敗
這是我使用POST請求的代碼:我正是如此稱它
navigateByPost = function(path, parameters)
{
var form = $('<form />');
form.attr("method", "post");
form.attr("action", path);
parameters && $.each(parameters, function (key, value)
{
var field = $('<input />');
field.attr("type", "hidden");
field.attr("name", key);
field.attr("value", value);
form.append(field);
});
$(document.body).append(form);
form.submit();
}
:
navigateByPost('http://other.site/login/?parameter1=sessiontokenhere');
大多數時候,這個工作正常,但有時,以完全隨機的間隔,我看到請求被取消,並且導航從不發生。這是我在Chrome瀏覽器開發工具,我看到當導航失敗:
我已經在Firefox檢查,似乎問題並沒有出現,所以我不知所措到實際問題是什麼。我知道在其他方面這不會成爲問題,因爲它不可能在一毫秒內完成並被拒絕。它一定是瀏覽器中的東西,但我不知道。
請幫幫我,夥計們,我正在用盡我的頭!
如果在調用navigateByPost()時缺少「path」變量,還是有一些魔術發生,我沒有看到? –
是否在有擔保和無擔保之間發佈數據?即http/https ?! – devsathish
@limelights我在調用中包含了路徑,但沒有任何參數需要發送,因此爲什麼第二個參數是空的。 – brins0