首页 > 解决方案 > 如何将PHP中的输入字段值存储到数据库中,然后将其分配给javascript中的变量

问题描述

所以我正在研究 Wordpress 项目。有两个单独的页面。一种是用户提交的表格,他可以把他的名字放在哪里。然后,我将此输入值存储到数据库中的自定义表中,并将用户重定向到另一个页面,他可以开始参加测验。这里没问题。

但我想要的是用户在上一页提交表单后并被重定向后能够使用从数据库中检索到的最新输入的凭据进行测验。

并且测验是基于 javascript 的,所以我想在用户开始参加测验之前将输入的凭据存储到 javascript 变量中。我已经使用 AJAX 访问数据库中的所有用户。到目前为止,我的代码如下所示:

脚本.js

jQuery.ajax({
    type:"POST",
    url: my_ajax_object.ajax_url,
    data: { 'action': 'call_my_ajax_handler' }
}).done(function(data) {
  console.log(data);
});

它控制数据库中的所有名称,如下所示:

[{"name":"laimis"},{"name":"jonas"},{"name":"jans"},{"name":"frank"},...

然后我在 javascript 中有一个测验代码,它为新创建的用户初始化新对象,如下所示:

function User (theName, theEmail) {
  this.name = theName;
  this.email = theEmail;
  this.quizScores = [];
  this.currentScore = 0;
}

var user1 = new User (theName.value, theEmail.value);

那么如何循环访问 json 对象数组以访问该值laimis,例如将其分配给 js 中的变量?

标签: javascriptphpjsonajaxwordpress

解决方案


使用 JSON.parse 将 JSON 字符串转换为实变量:

.done(function(data) {
  console.log(data);
  var parsedData = JSON.parse(data);
  var lastItem = parsedData.pop();//it will be an array, so just figure out which index you need
  user1 = new User(lastItem.name, lastItem.email);
})

推荐阅读