gpt4 book ai didi

javascript - 在 Javascript PhoneGap 中一次又一次显示相同的结果

转载 作者:行者123 更新时间:2023-11-28 08:18:39 24 4
gpt4 key购买 nike

我们在循环中得到相同的结果。如果有人能理解我在哪里犯了错误,请告诉我。请查看此屏幕截图以获得一个想法。

我尝试在很多地方发出警报,似乎一切都很顺利。但不知道为什么没有得到结果。 “executeSql”在循环中使用多个值时是否无法正常工作?

或者select查询有错误吗?请告诉我为什么会造成这样的问题?

enter image description here

   var db;
var shortName = 'WebSqlDB';
var version = '1.0';
var displayName = 'WebSqlDB';
var maxSize = 65535;


window.onload = function(){

document.addEventListener("deviceready",init,false);
}

function init(){

if (!window.openDatabase) {
alert('Databases are not supported in this browser.');
return;
}

db = openDatabase(shortName, version, displayName,maxSize);

db.transaction(function(tx){
tx.executeSql( 'DROP TABLE post_details',nullHandler,nullHandler);
tx.executeSql( 'CREATE TABLE IF NOT EXISTS post_details(UserId INTEGER NOT NULL PRIMARY KEY, post_title TEXT NOT NULL, post_date TEXT NOT NULL,post_comment TEXT NOT NULL,post_content TEXT NOT NULL, post_categories TEXT NOT NULL, post_image TEXT)',[],nullHandler,errorHandler);
},errorHandler,successCallBack);


if(checkConnection() != "No network connection"){
$.ajax({
url: 'http://www.foduu.com/api/get_recent_posts/?callback=?',
type: 'GET',
dataType: 'json',
success: function(data){
console.log(data);

var number_of_post = Object.keys(data.posts).length;

for(var i=0; i < number_of_post; i++){

var ptitle = data.posts[i].title;
var pdate = data.posts[i].date;
var pccount = data.posts[i].comment_count;
var pcontent = data.posts[i].content;
var pcategories = data.posts[i].categories;
var pimage = "my image";
//alert(ptitle +","+ pdate +","+ pccount+","+ pcategories +","+ pimage);
db.transaction(function(transaction) {
transaction.executeSql('INSERT INTO post_details(post_title,post_date,post_comment,post_content,post_categories,post_image) VALUES (?,?,?,?,?,?)',[ptitle,pdate,pccount,"pcontent",pcategories,pimage],nullHandler,errorHandler);
});
}


db.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM post_details;', [],
function(transaction, result) {
$.each(result.rows,function(index){
var row = result.rows.item(index);


var post_single="<li class='post'>" +
"<a href='#' class='post_more'></a>" +
"<div class='post_right_reveal'>" +
"<h4><a href='#' onclick='swiperParent.swipeTo(4);'>"+ row['post_title'] +"</a></h4>" +
"</div>" +
"<div class='post_right_unreveal'>" +
"Posted in <a href='#'>blog category</a>" +
"<span class='post_comments'>25 Comments</span>" +
"<a href='#' class='post_readmore' onclick='swiperParent.swipeTo(4);'>read more</a>" +
"</div>" +

"<div class='post_left'>" +
"<span class='day'>7</span>" +
"<span class='month'>feb</span>" +
"</div>" +
"</li>";
$('#posts-all').append(post_single);
$('#posts-all').trigger('create');


});

});
},errorHandler,nullHandler);

},
error: function(data){
alert("Can Not Fetch data From server");

}


});

}
else
{
alert("No Internet Connection");
}

}

function checkConnection() {
var networkState = navigator.network.connection.type;

var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';

return states[networkState];
}

function errorHandler(transaction, error) {
alert('Error: ' + error.message + ' code: ' + error.code);

}

function successCallBack() {
alert("DEBUGGING: success");
}

function nullHandler(){};

有什么方法可以在所有其他 JS 或 CSS 文件之前加载我的 main.js 文件吗?

我尝试执行多个executeSql,它工作得很好。但当我在 FOR 循环中使用它时,它只是一次又一次地给我相同的标题。如果需要的话我可以把代码放在github上供你尝试。

提前谢谢您!

最佳答案

好的问题解决了,我在 db.trasaction(..) 之外运行 FOR 循环,它应该在 tx.excuteSql(...) 上运行这解决了我的问题。

我很高兴自己找到了解决方案。 :)

谢谢!

关于javascript - 在 Javascript PhoneGap 中一次又一次显示相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23275621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com