2014-01-30 58 views
1

我在我的服务器端应用程序中有一块Dart,我不知道如何将MySql提供的地图转换为JSON类型的结构来发送这些数据给客户。
安全:无法Sql注入;
简单:只需要​​几行代码来转换数据,考虑到一个字符串包含字符串分隔符('或“),不允许简单的连接。
在客户端,我解码一个JSON字符串和填充表单 这是服务器程序:MySql数据从服务器到客户端的安全和容易的传输

void handlePost(HttpRequest req) { 
    HttpResponse res = req.response; 
    req.listen((List<int> buffer) { 
    addCorsHeaders(res); 
    AsciiDecoder a = new AsciiDecoder(); 
    String s = a.convert(buffer); // contains key data in JSON-string 
    Map data = JSON.decode(s); 
    if (data.containsKey("key")){ 
     var r1 = data{"key"};  
     pool.query('select fi, la, age from person where keyT =' + r1).then((result) { 
     result.forEach((row) { 
      print("FirstName: ${row[0]}, lastName: ${row[1]}, Age: ${row[2]}"); 
      closeRes(res, JSONdata); 
     }); 
     }); 
    } 
    else closeRes(res, "NOK missing key"); 
    }, 
    onError: printError); 
} 

我在哪里写print("FirstName: ${row[0]}, lastName: ${row[1]}, Age: ${row[2]}");
我会写一些代码,MySQL的地图转换成什么东西,我可以在客户端转变为JSON-something。 在客户端上我有这个:

void getDataFromServer(){ 
    HttpRequest request = new HttpRequest(); // create a new XHR 
    request.onReadyStateChange.listen((_) { 
    if (request.readyState == HttpRequest.DONE && 
     (request.status == 200 || request.status == 0)) { 
     extractJson(request.responseText); // output the response 
    } 
    }); 
    request.open("POST", url, async: false); 
    request.send(jsonData); // POST string like: {"key":"12345"} 
} 

有人可以某些代码行,显示如何?或者给我看一篇有一些实际案例的文章?我正在运行最新版本的Dart。
我用(15年)写VBasic中的桌面应用程序,现在尝试转换。

+0

的注入部分的答案,我认为所有你需要的是在这里在计算器上。只需使用搜索功能。 '给我一些代码'问题是关于SO的话题。 –

+0

如果是这样,请重读我的问题:什么DART例程可以将由SqlJocky返回的MySql映射转换为Jason映射。 – Martin

+0

为了安全传输,请使用SSL加密。 –

回答

1

stackoverflow中找到了编码为JSON的解决方案。将描述sql-table的类中的所有字段设置为mySql获得的结果并进行序列化。 Concat所有行。然后将该字符串传递给客户端。

等待纳瓦夫Alsulami的问题

相关问题