我試圖在打開Magnific Popup時發送帶有AJAX請求的data
對象。但是,好像$(this)
在插件中沒有被正確翻譯。
考慮以下代碼:
<div class="my-div">
<a href="/path/to/file.php" data-name="John" data-location="Boston">Click here</a>
</div>
$('.my-div a').magnificPopup({
type: 'ajax',
ajax: {
settings: {
data: $(this).data()
}
}
});
的數據對象無法正常返回。但是,如果我用這個替換數據行:
data: { name: "John", location: "Boston" }
然後我可以引用$_GET
中的那些對象。
編輯:要推動這一$(this)
未能在magnificPopup
正常的事實,我改變了數據線:
data: { href: $(this).attr('href') }
仍然沒有返回。
我所做的一切似乎在$(this)
沒有插件內尊重點。我如何從原始錨標記中獲取data
對象並將它們傳遞給AJAX請求?
我想就不得不提到在.data()方法的關鍵。 http://api.jquery.com/data/ – Pazza22
不,一個簡單的'.data()'將返回所有'data- *'值作爲JavaScript對象。例如:http://jsfiddle.net/7nvgL/ –
是因爲您傳遞的對象沒有必需的參數名稱。試試數據:{myObj:$(this).data()}。這可能會傳遞名稱爲myObj – Pazza22