gpt4 book ai didi

javascript - Jquery .data()在ajax成功中不起作用

转载 作者:行者123 更新时间:2023-11-30 16:51:57 24 4
gpt4 key购买 nike

我有一个 AJAX 调用,它工作正常并附加了返回的 HTML。问题是我无法附加数据,我不知道为什么。

一切正常 - 甚至标记被放置在 map 上 - 除了数据。

这是我的:

$.ajax({
url: '/Trip/TrainCard',
type: 'POST',
data: modeldata,
contentType: 'application/json; charset=utf-8',
success: function (data) {
$(".traincards").append(data);

var traincard = $(data).find(".traincard");
var id = $(traincard).attr("id");
id = id.split("_")[1];

var icon = $(traincard).data().iconurl;

//Create some marker options
var markerOptions = CreateMarkerOptions(id, null, null, null, null, null, true, null, icon, map, null, place.geometry.location, null, true, null, "", null, null, ICONSCALE.TYPE.MARKER.MIDPOINT);

//Create a marker
var marker = CreateMarker(markerOptions, "", $(traincard).data().color);

marker.setPosition(place.geometry.location);
marker.setVisible(true);

//does nothing!
$(traincard).data({ marker: marker });

//Add the city to the list on the map
addNewCityToMapList(id, place.name)
},
error: function (xhr, ajaxOptions, thrownError) {
ShowUserMessage("Error: " + xhr.status + " " + thrownError);
}
});

出于某种原因,我无法将标记添加到 traincard 参见 $(traincard).data({ marker: marker });

有什么想法吗?

最佳答案

问题是因为您在返回的 data 变量上使用了 data() 方法,而不是您从它附加到 DOM 的元素。尝试在返回的数据上设置您需要的属性,然后将其附加到 DOM。试试这个:

success: function (data) {
var $data = $(data);
var $traincard = $data.find(".traincard");
var id = $traincard.attr("id").split("_")[1];
var icon = traincard.data('iconurl');
var markerOptions = CreateMarkerOptions(id, null, null, null, null, null, true, null, icon, map, null, place.geometry.location, null, true, null, "", null, null, ICONSCALE.TYPE.MARKER.MIDPOINT);
var marker = CreateMarker(markerOptions, "", $traincard.data('color'));
marker.setPosition(place.geometry.location);
marker.setVisible(true);
$traincard.data('marker', marker)
$data.appendTo(".traincards"); // append the element _after_ you've set its attributes

//Add the city to the list on the map
addNewCityToMapList(id, place.name)
},

关于javascript - Jquery .data()在ajax成功中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30396925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com