【问题标题】:getJSON fails silentlygetJSON 静默失败
【发布时间】:2018-09-30 03:23:38
【问题描述】:

我正在处理一个项目,包括在传单地图上放置一些标记。 我使用 PostGIS 来存储标记。我使用 Django 作为后端。 当我尝试通过 $.getJSON 访问标记时,它会静默归档。

这是失败的代码:

function sendCategories(map){
    var checks = $('input[type="checkbox"]:checked').map(function(){
               return $(this).val();
               }).get();
    var liste = JSON.stringify(checks);
    var categories ="{% url 'events:listEvents' 12345 %}".replace(/12345/,liste);
    $.getJSON(categories, function(data) {
        L.geoJSON(data).addTo(map);
    });

}

有趣的是我有这段代码,做类似的事情,但工作正常:

function addEvents(map) {
    var EventPoints = "{% url 'events:pointData' %}";
    $.getJSON(EventPoints, function (data) {
        L.geoJSON(data).addTo(map);
    });
}

两个网址的数据相同,我确实检查了多次。

当我尝试记录错误时,我得到了这个:

getJSON failed, status: error, error: 

【问题讨论】:

  • 我猜你检查了 JSON 是否正确? as from the docs: "从 jQuery 1.4 开始,如果 JSON 文件包含语法错误,请求通常会静默失败"
  • 据我了解,console.error("getJSON failed, status: " + textStatus + ", error: "+error); 应该打印如下内容:etJSON failed, status: parsererror, error: SyntaxError: JSON Parse error: Unrecognized token '/'(来自这里:stackoverflow.com/questions/5492838/…)但它打印的是getJSON failed, status: error, error:

标签: javascript json getjson


【解决方案1】:

好的,getJSON 的错误似乎是由刷新页面的表单引起的。当我添加event.preventDeafult() getJSON 开始工作。

【讨论】:

    猜你喜欢
    • 2011-07-26
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 2017-10-08
    相关资源
    最近更新 更多