前台如何傳遞json資料庫,前台如何傳遞json資料庫文件

本文目錄一覽:

後台json數據傳到前台怎麼傳

假設後台傳遞到前台數據的臨時對象為json

var

json

=

「{……}」;

json

=

eval(‘(‘

+

json

+

‘)’);

json就對前台對象了,json.endPlncre可以拿出指定屬性

前台能不能給後台傳這樣的json數據:一個json內有個值和一個json數組 請問前台給怎麼傳,後台該怎麼接收

你很懶。

第一步,封裝json.

var jsonStr = [{‘name’:’jim’ , ‘age’:20} , {‘name’:’king’ , ‘age’:26},{‘name’:’jge’ , ‘age’:30}]

第二部,ajax。

jQuery.ajax({

type: “post”,

url: url,

dataType : ‘json’,

data : {‘mydata’:jsonStr},

success: function(data,textStatus){

alert(“操作成功”);

},error: function(xhr,status,errMsg){

alert(“操作失敗!”);

}

});

第三部,後台方法接收。

String jsonStr = ServletActionContext.getRequest().getParameter(“mydata”);

JSONArray jsonArray = JSONArray.fromObject(jsonStr);

for(int i=0;ijsonArray.length(); i++){

JSONObject jsonJ = jsonArray.getJSONObject(i);

jsonJ.getInt(“name”);

jsonJ.getString(“age”);

}

…….ok不。

如何將數據以json格式傳給前端

將數據以json格式傳給前端:

function generateDtb() {

//寫入

var txtName = document.getElementById(“txtName”).value;

//創建數組

var dtb = new Array();

//通過循環把數據寫入到數組並返回

for (var i = 0; i firstGroup.length; i++) {

var row = new Object();

row.Name = txtName;

row.fullMoney = firstGroup[i].value;

row.discount = secondGroup[i].value;

dtb.push(row);

}

return dtb;

}

把數組轉換成json串傳入到後台:

$(function () {

//點擊botton1

$(“#lbtnOK”).click(function () {

var url = “DiscountManger.aspx?ajax=1”;

var dtb = generateDtb();

// var strName = document.getElementById(“txtName”).value;

if (dtb == null)

{ }

else {

//序列化對象

var postdata = JSON.stringify(dtb);

//非同步請求

$.post(url, { json: postdata }, function (json) {

if (json) {

jBox.tip(“添加成功!”, “提示”);

location.reload();

}

else {

jBox.tip(“添加失敗!”, “提示”);

location.reload();

}

}, “json”)

}

});

});

在後台的操作:

首先判斷是否需要傳輸數據

if (!IsPostBack)

{

//判斷是否非同步請求

if (Request.QueryString[“ajax”] == “1”)

{

ProcessRequest();

}

在這裡進行對數據的處理:

/// summary

/// 處理非同步請求

/// /summary

private void ProcessRequest()

{

//存入要填寫的策略

ArrayList arrDiscount = new ArrayList();

Response.ContentType = “text/html”;

string json = Request.Form[“json”];

//反序列化DataTable

if (json == null)

{

return;

}

else

{

DataTable newdtb = Json2Dtb(json);

for (int i = 0; i newdtb.Rows.Count; i++)

{

Entity.StrategyDiscount enStrategyDiscount = new Entity.StrategyDiscount();

//打折方案名

enStrategyDiscount.name = newdtb.Rows[i][“Name”].ToString();

//商店ID

enStrategyDiscount.shopId = long.Parse(LoginInfo.ShopID);

enStrategyDiscount.fullMoney = Convert.ToDecimal(newdtb.Rows[i][“fullMoney”].ToString());

enStrategyDiscount.discount = Convert.ToDecimal(newdtb.Rows[i][“discount”].ToString());

//寫入數據到數組

arrDiscount.Add(enStrategyDiscount);

}

//寫入數據到資料庫

IStrategyBLL strategy = new StrategyBLL();

if (strategy.AddStrategyDiscount(arrDiscount))

{

Response.Write(“true”);

Response.End();

}

else

{

Response.Write(“false”);

Response.End();

}

}

這裡,我們需要把json轉換成datatable

/// summary

/// Json轉DataTable

/// /summary

/// param name=”json”/param

/// returns/returns

private DataTable Json2Dtb(string json)

{

JavaScriptSerializer jss = new JavaScriptSerializer();

ArrayList dic = jss.DeserializeArrayList(json);

DataTable dtb = new DataTable();

if (dic.Count 0)

{

foreach (Dictionarystring, object drow in dic)

{

if (dtb.Columns.Count == 0)

{

foreach (string key in drow.Keys)

{

dtb.Columns.Add(key, drow[key].GetType());

}

}

DataRow row = dtb.NewRow();

foreach (string key in drow.Keys)

{

row[key] = drow[key];

}

dtb.Rows.Add(row);

}

}

return dtb;

}

這樣,就可以把數據無刷新的寫入到資料庫。

當然,如果我們有一個從資料庫讀取的datatable,如果通過json顯示在前台呢。

首先,我們需要把datatable轉換為json數據

/// summary

/// DataTable轉Json

/// /summary

/// param name=”dtb”/param

/// returns/returns

private string Dtb2Json(DataTable dtb)

{

JavaScriptSerializer jss = new JavaScriptSerializer();

ArrayList dic = new ArrayList();

foreach (DataRow row in dtb.Rows)

{

Dictionarystring, object drow = new Dictionarystring, object();

foreach (DataColumn col in dtb.Columns)

{

drow.Add(col.ColumnName, row[col.ColumnName]);

}

dic.Add(drow);

}

return jss.Serialize(dic);

}

然後寫回到前台

/// summary

/// 處理非同步請求

/// /summary

private void ProcessRequest()

{

Response.ContentType = “text/html”;

string json = Request.Form[“json”];

//反序列化DataTable

DataTable newdtb = Json2Dtb(json);

//序列化DataTable為JSON

string back = Dtb2Json(newdtb);

Response.Write(back);

Response.End();

}

在前台接受顯示:

$(function() {

//點擊botton1

$(“#botton1”).click(function() {

createTable(json);

});

});

//顯示Json中的數據

function createTable(json) {

var table = $(“table border=’1’/table”);

for (var i = 0; i json.length; i++) {

o1 = json[i];

var row = $(“tr/tr”);

for (key in o1) {

var td = $(“td/td”);

td.text(o1[key].toString());

td.appendTo(row);

}

row.appendTo(table);

}

table.appendTo($(“#back”));

}

如何在前台腳本通過json傳遞數據到後台

簡單的說你的這個問題不能是「PHP讀JS文件的數據」,而是「PHP怎麼識別JS提交的數組類數據」。因為PHP一般沒法直接識別JS的數組,所以你在定義你的這個JS數組的時候要使用 var jsonArray = {「1」:test, “1232”:test2 ;} 這種方式來定義一個JSON數組。之後你就可以自己寫個 AJAX 方法請求你的那個處理的頁面,並且把這個 JSON 數組傳遞過去。最後你在你的PHP腳本裡面把這個數組用json_decode()方法將這個JSON數組轉換成PHP的數組就行了。不過json_decode()只在PHP5.2.0之後的版本內才有集成。如果你的版本比較低就需要你自己去集成進去。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247516.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:21
下一篇 2024-12-12 13:21

相關推薦

  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分散式文件系統(HDFS)。HDFS是一個可擴展性高的分散式…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • JPRC – 輕鬆創建可讀性強的 JSON API

    本文將介紹一個全新的 JSON API 框架 JPRC,通過該框架,您可以輕鬆創建可讀性強的 JSON API,提高您的項目開發效率和代碼可維護性。接下來將從以下幾個方面對 JPR…

    編程 2025-04-27
  • Think-ORM數據模型及資料庫核心操作

    本文主要介紹Think-ORM數據模型建立和資料庫核心操作。 一、模型定義 Think-ORM是一個開源的ORM框架,用於簡化在PHP應用中(特別是ThinkPHP)與關係資料庫之…

    編程 2025-04-27

發表回復

登錄後才能評論