我有一个脚本从api获取大量信息,然后在我的网站上列出。然后我有一个函数newLink(z),它应该从创建的新元素中获取信息并用它来处理它,以简化它我只是尝试console.log,无论它在下面说什么。我放入函数括号中的任何数字,在本例中为76561198008132325,无论出于何种原因,最后一位数字都替换为0,从而导致控制台记录' 76561198008132320'。我现在已经在这个半小时的时间里摸不着头脑了,我真的无法弄清楚是什么造成了这个。
var searchRequest = "https://api.roleplay.co.uk/v1/search/player?name=ant";
var searchData = "";
function success(data) {
for (i = 0; i < data['length']; i++) {
document.getElementById("searchResults").innerHTML += "<div class='result' onclick='newLink(76561198008132325)'>new link</div>";
}
}
function newLink(z) {
console.log(z);
}
$.ajax({
dataType: 'json',
url: searchRequest,
data: searchData,
success: success
});
&#13;
<div class="results" id="searchResults">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
&#13;
答案 0 :(得分:0)
这是因为您将参数作为Number
传递给函数。将参数值传递为string
。
var searchRequest = "https://api.roleplay.co.uk/v1/search/player?name=ant";
var searchData = "";
function success(data) {
for (i = 0; i < data['length']; i++) {
document.getElementById("searchResults").innerHTML += "<div class='result' onclick='newLink(\"76561198008132325\")'>new link</div>";
}
}
function newLink(z) {
console.log(z);
}
$.ajax({
dataType: 'json',
url: searchRequest,
data: searchData,
success: success
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="results" id="searchResults">
</div>