将变量保存到 Localstorage,然后发送到 Mysql DB
Save Variables to Localstorage and then send to Mysql DB
首先抱歉我的英语不好,但我希望你能理解我的要求。
我正在开发 Phonegap 应用程序。用户可以通过支付提供商购买 vip 状态。我想使用本地存储和 mysql 但由于缺少我的知识,我遇到了问题。我在谷歌上搜索了很多,但因为一切都是英文的,所以我真的很难学东西。
我想要的是,在下载后 phone 上的第一个应用程序启动时,应用程序会生成一个随机的唯一用户名或数值,并将其作为变量保存在本地存储中。它还应该将一个名为 "vip" 的变量保存到本地存储并将其设置为 0。它需要检查变量是否已经设置,然后应用程序不需要做任何事情。
这些变量应该发送到 mysql table,让我们称之为 "user"。
示例:用户 Table
+---------+-------------+
| username| vip |
+---------+-------------+
A7w893579 0
因此变量保存在本地存储和 mysql 数据库中。
用户通过支付提供商付款后,变量 "vip" 需要设置为 1 并将其获取到正确的用户名,并将 1 保存到用户 table 上的用户的 vip 行中。
我需要任何方法来执行以下功能:如果 vip 状态为 1,则在网站的 iframe vip.html 中显示。如果它的 0 在网站上显示没有vip.html。
你知道我该怎么做吗?我阅读了一些关于 Ajax 调用的内容,但我没有理解正确。如果有人有一些代码片段,我将非常感谢。我不需要完整的代码,我只需要阅读它并尝试理解它。
谢谢!
我不确定你的看法如何,但你可以按照这些步骤做你想做的事。
- 应用程序启动时正确加载Cordova。开火
onDeviceReady
- 计算您的用户名,任意组合并将它们保存在
localStorage
- 通过 ajax 调用您的 php 服务器发送用户名和 VIP 状态
- 根据您的服务器响应显示用户 iframe 即 vip.html 或无vip.html
第 1 步:
借助以下代码加载 cordova 的所有必需功能。
// this call and loads all cordova function which are required.
//Device ready is fired when it is loaded successfully.
document.addEventListener("deviceready", onDeviceReady, true);
// Handle what your application wants to do first
// Save username and vip status, call ajax using to php server
function onDeviceReady() {
var username="calculate username";
var vipStatus=0; //or 1
}
第 2 步: 将数据存储在本地存储中。有两种使用本地存储的方法。本机 cordova 的做事方式。
// set value
window.localStorage.setItem("key", "value");
// get value back
var value = window.localStorage.getItem("key");
但我更喜欢直接存储在 localStorage 中,我不使用键值对。它易于存储和访问。
//store in localStorage
localStorage.vipStatus=0; // or 1
// to get back the value
var Status=localStorage.vipStatus;
第 3 步: 向您的 php 服务器发出 ajax 调用。参考 Jquery Ajax here 示例代码如下
$.ajax({
type: "POST",
url: "http://localhost:3001/",
dataType: 'json',
data: JsonData,
async: false,
crossDomain: true,
success: function(data) {
alert('success');
},
error: function(response, text, err) {
alert(err);
}
});
第四步:根据vip状态显示合适的页面
我认为你需要在一开始就实现所有的东西,所以你应该在 onDeviceReady
中实现它们,如下所示
document.addEventListener("deviceready", onDeviceReady, true);
// Handle what your application wants to do first
// Save username and vip status, call ajax using to php server
function onDeviceReady() {
// calculate username
var username = "calculate username";
// set status
var vipStatus = 0; //or 1.
// store in localstorage
localStorage.vipStatus = vipStatus;
// set up json i.e send username and vipstatus to server
// make ajax call
$.ajax({
type: "POST",
url: "http://localhost:3001/",
dataType: 'json',
data: JsonData,
async: false,
crossDomain: true,
success: function(data) {
alert('success');
if (status == 0) {
// its 0 so show novip.html
window.location.href = "novip.html";
} else {
//its 1 so show vip.html
window.location.href = "vip.html";
}
},
error: function(response, text, err) {
alert(err);
}
});
}
首先抱歉我的英语不好,但我希望你能理解我的要求。
我正在开发 Phonegap 应用程序。用户可以通过支付提供商购买 vip 状态。我想使用本地存储和 mysql 但由于缺少我的知识,我遇到了问题。我在谷歌上搜索了很多,但因为一切都是英文的,所以我真的很难学东西。
我想要的是,在下载后 phone 上的第一个应用程序启动时,应用程序会生成一个随机的唯一用户名或数值,并将其作为变量保存在本地存储中。它还应该将一个名为 "vip" 的变量保存到本地存储并将其设置为 0。它需要检查变量是否已经设置,然后应用程序不需要做任何事情。
这些变量应该发送到 mysql table,让我们称之为 "user"。
示例:用户 Table
+---------+-------------+
| username| vip |
+---------+-------------+
A7w893579 0
因此变量保存在本地存储和 mysql 数据库中。 用户通过支付提供商付款后,变量 "vip" 需要设置为 1 并将其获取到正确的用户名,并将 1 保存到用户 table 上的用户的 vip 行中。
我需要任何方法来执行以下功能:如果 vip 状态为 1,则在网站的 iframe vip.html 中显示。如果它的 0 在网站上显示没有vip.html。
你知道我该怎么做吗?我阅读了一些关于 Ajax 调用的内容,但我没有理解正确。如果有人有一些代码片段,我将非常感谢。我不需要完整的代码,我只需要阅读它并尝试理解它。
谢谢!
我不确定你的看法如何,但你可以按照这些步骤做你想做的事。
- 应用程序启动时正确加载Cordova。开火
onDeviceReady
- 计算您的用户名,任意组合并将它们保存在
localStorage
- 通过 ajax 调用您的 php 服务器发送用户名和 VIP 状态
- 根据您的服务器响应显示用户 iframe 即 vip.html 或无vip.html
第 1 步: 借助以下代码加载 cordova 的所有必需功能。
// this call and loads all cordova function which are required.
//Device ready is fired when it is loaded successfully.
document.addEventListener("deviceready", onDeviceReady, true);
// Handle what your application wants to do first
// Save username and vip status, call ajax using to php server
function onDeviceReady() {
var username="calculate username";
var vipStatus=0; //or 1
}
第 2 步: 将数据存储在本地存储中。有两种使用本地存储的方法。本机 cordova 的做事方式。
// set value
window.localStorage.setItem("key", "value");
// get value back
var value = window.localStorage.getItem("key");
但我更喜欢直接存储在 localStorage 中,我不使用键值对。它易于存储和访问。
//store in localStorage
localStorage.vipStatus=0; // or 1
// to get back the value
var Status=localStorage.vipStatus;
第 3 步: 向您的 php 服务器发出 ajax 调用。参考 Jquery Ajax here 示例代码如下
$.ajax({
type: "POST",
url: "http://localhost:3001/",
dataType: 'json',
data: JsonData,
async: false,
crossDomain: true,
success: function(data) {
alert('success');
},
error: function(response, text, err) {
alert(err);
}
});
第四步:根据vip状态显示合适的页面
我认为你需要在一开始就实现所有的东西,所以你应该在 onDeviceReady
中实现它们,如下所示
document.addEventListener("deviceready", onDeviceReady, true);
// Handle what your application wants to do first
// Save username and vip status, call ajax using to php server
function onDeviceReady() {
// calculate username
var username = "calculate username";
// set status
var vipStatus = 0; //or 1.
// store in localstorage
localStorage.vipStatus = vipStatus;
// set up json i.e send username and vipstatus to server
// make ajax call
$.ajax({
type: "POST",
url: "http://localhost:3001/",
dataType: 'json',
data: JsonData,
async: false,
crossDomain: true,
success: function(data) {
alert('success');
if (status == 0) {
// its 0 so show novip.html
window.location.href = "novip.html";
} else {
//its 1 so show vip.html
window.location.href = "vip.html";
}
},
error: function(response, text, err) {
alert(err);
}
});
}