我有以下代碼:事件傳播和Ajax後
<div id="parentDiv">
<a href="someurl"> ... </a>
</div>
的DIV中的HTML來自外部來源,我不知道它的結構和無法控制它。
我需要發佈一些數據,當這個鏈接被點擊。所以我在div元素上添加了一個onclick事件處理函數,希望事件會傳播,並使用jQuery ajax函數發佈數據。
在所有瀏覽器中都可以正常工作,但是Safari瀏覽器不會返回任何錯誤,但會調用回調函數,但由於某種原因無法訪問服務器。每次我收到請求時都會寫入數據庫。試圖手動加載在瀏覽器中發佈的網址 - 正常工作,並在db中創建記錄。也嘗試過FF和Chrome - 按預期工作。
將警報置於回調函數中時,它將被調用,但在Safari data = null中。
$('#parentDiv').delegate('a', 'click', function()
{
$.post('posturl',
{ param1: 'test'},
function(data)
{
alert('data = '+data);
},
"json"
);
});
在這種情況下期望AJAX能夠工作嗎?有沒有更好的解決這個問題?
謝謝!
你停止點擊事件,所以瀏覽器不會嘗試按照someurl鏈接? – daniellmb 2011-04-02 17:53:06
「沒有達到服務器的含義」是什麼?詳細描述您看到的內容以及衡量它的指標。 – 2011-04-02 17:57:19
不,我不會阻止它,因爲我確實希望它遵循鏈接並同時提交數據。 – 2011-04-02 17:57:54