在完成一个项目,我必须使用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()
答案 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个ajax
和error
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");
}
});
}