首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据从KnockOut发送到?

如何将数据从KnockOut发送到?
EN

Stack Overflow用户
提问于 2012-02-01 00:27:51
回答 2查看 4.2K关注 0票数 1

我可以从KnockOut中正确地显示我的数据;但是,我想不出一个很好的方法来获得PHP,并让PHP为mySQL准备数据:

在我的表单页面中,我可以触发提交时显示的数据,没有问题:

代码语言:javascript
复制
var json =   ko.utils.stringifyJson( this.Stuff );     
alert("This is what I wanna save: \n" + json );

但是,假设我想将它发送到一个php文件中,以便将它写入mySql--接下来我要做什么呢?

代码语言:javascript
复制
ko.utils.postJson( $("form")[0], this.Stuff );
// or
$.get( "_php/savetodb.php" , json );

当...And页面接收到JSON格式的数据时,会发生什么?

我在网上看到的每一个解决方案基本上都说:“你能做到。”但不是我会做什么。

我正在尝试的路径(据我所读,这是首选的路径)是: FORM DATA ->剔除-> ENCODE JSON ->解码JSON -> MYSQL

EN

回答 2

Stack Overflow用户

发布于 2012-02-03 02:15:44

那里有一些有用的答案--它们大多归结为“嘿,你为什么不看文档呢?”

对于第一部分,我试图通过JSON将数据发送到PHP,我发现这个链接很有用: [factsandpeople.com]

所以为我工作的代码(很好的测试)是: HTML

代码语言:javascript
复制
<form name="info" action="" method="get">
    First : <input type="text" name="first" value="Sandra" size="23"><br>
    Last : <input type="text" name="last" value="Grastlath"  size="23"><br>

<input type="button" name="valid" value="Validate" onclick="validate()">

<div id="fullresponse"><span/></div>
<div id="sales1Lastname"><span/></div>

接下来是java脚本:

代码语言:javascript
复制
var data = 
    { 
         "sales": [ 
             { "firstname" : "John", "lastname" : "Brown" },
             { "firstname" : "Marc", "lastname" : "Johnson" }
          ] // end of sales array
    }
function validate()
    {
        var p = document.forms['info'];

        data['sales'].push( { "firstname" : document.forms['info']['first'].value , "lastname" : document.forms['info']['last'].value } );

        var dataString = JSON.stringify(data);
        $.get('parser.php', { data: dataString}, showResult, "text");
    }

function showResult(res)
    {
        $("#fullresponse").html("<br><b>Full response: </b><br>" +res);
        var obj = JSON.parse(res);
        var l = obj.sales.length - 1;
        $("#sales1Lastname").html("<br><b>Lastname of sales[1]: </b><br>" +obj.sales[l].lastname);
    }

现在是PHP:

代码语言:javascript
复制
    $logFile = 'logFile';
    $req = $_REQUEST['data'];

    $res = json_decode(stripslashes( $req ), true);

    error_log("result: ".$req.", res=".json_encode($res), 3, $logFile);

    error_log(", sales1_lastname: ".$res['sales'][1]['lastname'], 3, $logFile);

    error_log("\n", 3, $logFile);

    header("Content-type: text/plain");

    echo json_encode($res);

    ?>

就像我说的,这真的很简单,但我现在所处的地方,我至少可以遵循我所有的伟大建议.并阅读文件。

票数 4
EN

Stack Overflow用户

发布于 2012-02-02 23:26:01

在PHP中,您需要:

使用json_decode

对JSON进行解码的

  1. 数据库上的INSERT
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9089112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档