mootools - 用freegeoip请求json

时间:2018-02-21 23:54:06

标签: javascript json mootools

我正在尝试使用来自freegeoip.net的JSON提要在html元素中显示城市和地区数据。我对Mootools很新,我不确定我当前的剧本在哪里出错。

我当前的脚本是https://jsfiddle.net/uv1qu25r/5/



var jsonRequest = new Request.JSON({
  url: 'https://freegeoip.net/json/',
  function(data) {
    $('city1').set('text', data.city);
    $('region').set('text', data.region_name);
  }
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/mootools/1.6.0/mootools-core.js"></script>
Your City is <span id="city1"></span><br> Your Region is <span id="region"></span>
&#13;
&#13;
&#13;

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

MooTools API需要调用onSuccess方法。如果我没记错的话,你还需要传递new Request.JSON({ url: 'https://freegeoip.net/json/', onSuccess: function(data) { $('city1').set('text', data.city); $('region').set('text', data.region_name); } }).send(); 而不仅仅是一个函数。

尝试:

public class AbstractConverter<TReal, TAbstract> : JsonConverter where TReal : TAbstract
{
    public override Boolean CanConvert(Type objectType) 
        => objectType == typeof(TAbstract);

    public override Object ReadJson(JsonReader reader, Type type, Object value, JsonSerializer jser) 
        => jser.Deserialize<TReal>(reader);

    public override void WriteJson(JsonWriter writer, Object value, JsonSerializer jser) 
        => jser.Serialize(writer, value);
}

注意:该URL似乎不允许使用CORS,因此这可能是一个需要解决的问题......