gpt4 book ai didi

javascript - jquery Ajax完整功能中解析错误

转载 作者:行者123 更新时间:2023-12-03 12:18:58 26 4
gpt4 key购买 nike

编辑: 我收到解析错误。当在ajax完成功能中显示状态时。知道我哪里出错了。

理想情况下,我应该得到坐标,并且“应该显示”显示在 html 页面上。但仅显示坐标。似乎链接 getElementById 找不到“t01”id 标签。另外,当我尝试在 ajax 调用之外显示内容变量时,我得到未定义的结果即使内容是全局变量。

HTML 代码

            $.ajax({
async: false,
type: 'GET',
url: "http://geolocation.webatu.com/Radius.php",
data: {
lat: lat,
lon: lon
},
dataType: 'jsonp',
complete: function (response,status) {
document.getElementById('t01').innerHTML = status;
content = "<ul>";
var parsed = JSON.parse(response);
for (var i in parsed) {
content += "<li>" + parsed[i].ClassName + " " + parsed[i].City + "</li>";
}

}
});

最佳答案

我创建了一个fiddle并得到错误:

Uncaught SyntaxError: Unexpected identifier

答案是:

'[]'        
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

因此,这个答案失败了,这不是 JSONP 实践所需的 javascript 代码。

已编辑(在所有评论之后):

经过一番尝试后,我将您的代码更改为以下内容( fiddle ):

window.processResults = function (response) {
//it must be called with response data inside server answer
var content = "<ul>";
var parsed = JSON.parse(response);
for (var i in parsed) {
content += "<li>" + parsed[i].ClassName + " " + parsed[i].City + "</li>";
}
document.getElementById('t01').innerHTML = "This should be displayed";
}

function onSuccess(position) {

var element = document.getElementById('geolocation');

element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' +
'Longitude: ' + position.coords.longitude + '<br />';

lat = position.coords.latitude;
lon = position.coords.longitude;

$.ajax({
async: false,
type: 'GET',
url: "http://geolocation.webatu.com/Radius.php?jsonp=processResults",
data: {
lat: lat,
lon: lon
},
dataType : 'jsonp',
jsonp: false,//jQuery will not add it own random callback
jsonpCallback: 'processResults'//name of callback function which server must wrap the response
});

}

您必须更改服务器的响应。如果您的服务没有返回任何内容,就像这样:

processResults('[]');

而不是像现在这样的'[]'

它是 JSONP:您请求带有 javascript 函数名称的响应服务器,这是您客户端的回调,并且服务器必须将其响应包装在此函数中。

关于javascript - jquery Ajax完整功能中解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24528503/

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