0

我是服务器端编程的新手,我有一个form需要的操作是,当用户填写姓名、地址和密码时,提交从然后页面应该加载(如本地从提交)并且应该显示新数据(数据是在 JSON 文件中可用)。

我在服务器上有 JSON 文件。是否可以在不使用数据库的情况下以 JSON 格式从服务器获取响应?

HTML:---

<form action="https://domain.com/jsonfilelocation/json.json">
    <input type="text" name="name" />
    <input type="text" name="address" />
    <input type="text" name="pincode" />
    <input type="submit" name="submit" />        
</form>

JSON:--- json.json 位于https://domain.com/jsonfilelocation/json.json

{
    "name": "kk",
    "address": "XYZ, New Delhi",
    "pincode": "1000001"
}
4

4 回答 4

1

您可以将 JSON 字符串存储在本地变量服务器端,并将其作为客户端 AJAX 调用的结果返回,而无需访问数据库。

于 2013-09-14T17:00:57.150 回答
1

如果您不介意使用我强烈推荐的 JQuery 库,也许您正在寻找的是JQuery getJSON 。

它基本上使用 AJAX 来请求 json 文件并对其进行解析:

$.getJSON('https://domain.com/jsonfilelocation/json.json', function(data) {
    // 'data' is your object containing the parsed JSON data
    var new_name = data.name
    var new_address = data.address
    var new_pincode = data.pincode
    // ...

阅读我给你的文档链接,它写得很好。

于 2013-09-14T17:21:18.083 回答
1
<?php
session_start();

//Variables
$ext    = '.json';
$me     = isset($_SESSION['me']) ? $_SESSION['me'] : $_SESSION['me'] = rand();
$file   = $me . $ext;

//If we have a post handle our data, write to a json file.
if ($_POST) {
    //Don't need the submit key in our data.
    unset($_POST['submit']);

    //Write to the file.
    $str    = json_encode($_POST);
    $fp     = fopen($file, 'w') or die("can't open file");
    fputs($fp, $str);
    fclose($fp);
}

//Check if there is a file with our session name.
if (file_exists($file)) {
    //Get the file content and json decode it.
    $json   = file_get_contents($file);
    $values = json_decode($json);
}
?>
<!-- Form with pre-populated values, if they are set -->
<form action=""method="post">
    <input type="text" name="name" value="<?php print isset($values->name) ? $values->name : ''; ?>" />
    <input type="text" name="address" value="<?php print isset($values->address) ? $values->address : ''; ?>"/>
    <input type="text" name="pincode" value="<?php print isset($values->pincode) ? $values->pincode : ''; ?>"/>
    <input type="submit" name="submit"/>
</form>

由你决定,让它变得艰难。但我认为这应该让您对可能性以及如何设置有一个很好的了解。

于 2013-09-14T17:27:02.793 回答
0

只需https://domain.com/jsonfilelocation/json.json在执行您的请求时请求该页面。

于 2013-09-14T17:04:13.150 回答