如何以$ .ajax格式编写$ .getJSON调用?

时间:2017-09-15 17:15:05

标签: javascript jquery ajax

在完成一个项目,我必须使用html5地理位置检索用户的长/ lat,然后使用天气API检索该位置的天气,我遇到var isValidText = function (val) { var rx = new RegExp(\^(?=.*?[A-Z]{2})((?!!|@|$|%||^|&||*)).)*$\); var result = rx.text(val); return result; } $.getJSON,并阅读前者只是后者的简写。

它们看起来非常不同,我在查看下面如何使用$.ajax代替$.ajax()编写代码时遇到问题。我希望了解这两项工作如何有助于消除我对如何进行API调用的一些困惑。我已经阅读了关于两者的文档,但是没有点击。

$.getJSON()

5 个答案:

答案 0 :(得分:3)

select (SELECT sum(pt.amount FROM from payment pt join transaction_type tt on pt.transaction_type_id = tt.id WHERE tt.type = 'Credit Card' group by tt.type) as "total_credit" , (SELECT sum(pt.amount FROM from payment pt join transaction_type tt on pt.transaction_type_id = tt.id WHERE tt.type = 'Cheque' group by tt.type) as "total_cheque" 函数只是一种简写,相当于:

$.getJSON

答案 1 :(得分:0)

您应该以{格式

$.ajax()$.getJSON
$.ajax({
  url: api,
  method: 'GET',
  dataType: 'json',
  success: function(res){
    console.log(res);
  },
  error: function(err){
    console.log(err);
  }
});

希望这会对你有所帮助。

答案 2 :(得分:0)

var $form = $('#checkout-form'); $form.submit(function (event) { 函数提供了大量函数,其中最常用的函数有2个ajaxerror

success

您还可以传递数据属性,如下所示:

 $.ajax({
     type: "POST",  // or 'GET'
     url: api,
     cache: false,
     dataType: "json",
     success: function (data) {
         // your success code here           
     },
     error: function (request, status, error) {
        alert(request.responseText);
     }
 });

答案 3 :(得分:0)

此链接here详细说明了这一点。但基本上你不能用$ .getJSON进行POST。但是使用$ .ajax,你可以。除POST之外,您可以使用$ .post

答案 4 :(得分:0)

使用ajax  第一种方法

    function showPoints(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;

    // AJAX request
    var api = "https://api.openweathermap.org/data/2.5/weather?lat=" + latitude + "&lon=" + longitude + "&APPID=xxx";
                   $.ajax({
                        url: api, // url 
                        type: "GET", // type of action POST || GET
                        success: function (data) {
                              var kTemp = data.main.temp;
            var type = data.weather[0].description;
            var city = data.name;
            var country = data.sys.country;
            var tempSwitch = true;

            // temperature conversions
            var fTemp = (kTemp * (9 / 5) - 459.67).toFixed(0);
            var cTemp = (kTemp - 273).toFixed(0);
            $("#temp").html(fTemp + "° " + "F");
            $("#temp").click(function() {
                if (tempSwitch === false) {
                    $("#temp").html(cTemp + "° " + "C");
                    tempSwitch = true;
                } else {
                    $("#temp").html(fTemp + "° " + "F");
                    tempSwitch = false;
                }
                        },
                        error: function (xhr, resp, text) {
                            //console.log(xhr, resp, text+"................in error");
                        }
                    });
}