最近我用$.getJSON
發送請求Flickr的API得到一些照片信息(我有100個數據完全) 和$.getJSON()
的回調函數,我用$.each()
和$.get('myServlet.do')
把數據發送到servlet然後插入到MySQL數據庫。
我認爲它應該沒有問題,但我發現如果我使用上面的方法,我的數據庫將重複數據,有誰知道是什麼問題?
當servlet收到時,數據被複制,順便說一句。
這將是非常感激,如果有人可以給我一些建議...
這是我的代碼,我怎麼使用$.get()
:
$.getJSON('http://query.yahooapis.com/v1/public/yql?q=select id,title,location.latitude,location.longitude,dates.taken,farm,server,secret from flickr.photos.info where photo_id in' + '(select id from flickr.photos.search(0) where text=\"' + queryText + '\" and has_geo=1 and lat=22.993299484253 and lon=120.20359802246 and content_type=1 and radius=20 and api_key=\"' + appid + '\" limit 100) and api_key=\"' + appid + '\"&format=json',
function (data) {
var clientTime = $('#clientTime').html();
$.each(data.query.results.photo,
function() {
console.log(this.id + " " + this.title + " " + this.farm + " " + this.server + " " + this.dates.taken);
$.post('insertphotoinfo.do', {
id: encodeURI(this.id),
title: encodeURI(this.title),
farm: encodeURI(this.farm),
server: encodeURI(this.server),
secret: encodeURI(this.secret),
takendate: encodeURI(this.dates.taken),
latitude: encodeURI(this.location.latitude),
longitude: encodeURI(this.location.longitude),
clientTime: encodeURI(clientTime)
},
function (Result) {
});
});
如果沒有看到'GET'的例子並且看到你的servlet代碼,我們就不能幫你。但一般來說,你不應該使用'GET'來做任何改變服務器狀態的事情; GET請求被認爲是*冪等*。使用'POST'來改變服務器的狀態。 –