ホームページ ウェブフロントエンド jsチュートリアル フロントおよびバックエンド JavaScript スキルでのデータ送信に json を使用する方法の紹介

フロントおよびバックエンド JavaScript スキルでのデータ送信に json を使用する方法の紹介

May 16, 2016 pm 05:37 PM
json データ送信

前回のブログでは、JavaScript を使用して複数のテキスト グループ を生成することについて書きました。これにより、データ入力が表示されなくなる可能性があります。ここでは、これらの入力をデータベースに書き込む必要があります。ここでは、json を使用して渡します。彼らは入っています。

まず、バックグラウンドで送信するデータがどのように生成されるのかを書きましょう
[html]

コードをコピー コードは次のとおりです。

functiongenerateDtb() {
//Write
var txtName = document.getElementById("txtName").value; Create array
var dtb = new Array();
//ループを通じてデータを配列に書き込み、
for (var i = 0; i var row = new Object();
row.Name = txtName;
row.discount = SecondGroup[i].value; Push( row);
return dtb;
}
function generatedDtb() {
//Write
var txtName = document.getElementById("txtName").value;
// 配列を作成します
var dtb = new Array();
// ループを通じてデータを配列に書き込み、
for (var i = 0; i < firstGroup.length ; i ) {
var row = new Object();
row.fullMoney = firstGroup[i].value;
row.discount = SecondGroup[i]。 value;
dtb.push(row);
}
return dtb;
}


配列を JSON 文字列に変換し、バックグラウンドに渡します。 🎜>[html]



コードをコピー

コードは次のとおりです。 $(function ( ) { //botton1 をクリック $("#lbtnOK").click(function () { var url = "DiscountManger.aspx?ajax=1";
var dtb = generatedDtb( );
// 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("正常に追加されました! ", "tip");
location.reload();
}
else {
jBox.tip("追加に失敗しました!", "tip");
location.reload( );
}
}, "json")
}
});
$(function () {
// ボタン 1
をクリックします$("#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("追加に失敗しました!", "ヒント"); }
}, "json")
}
})
});


まず、データが必要かどうかを判断します。送信された
[html]




コードをコピー

コードは次のとおりです。


if ( !IsPostBack)
{
//非同期リクエストするかどうかを決定しますif (Request.QueryString["ajax"] == "1") { ProcessRequest(); } if (!IsPostBack) { //非同期リクエストするかどうかを決定します
if (Request.QueryString["ajax"] == "1")
{
ProcessRequest ();
}


ここでデータを処理します:
[html]




コードをコピーします


コードは次のとおりです:

///
/// 非同期リクエストの処理
///

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); int i = 0; newdtb.Rows.Count; i )
{
Entity.StrategyDiscount = new Entity.StrategyDiscount(); 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(); ))
{
Response.Write("true");
Response.End();
}
else
{
Response.Write("false" ) ;
Response.End();
}
}
///
/// 非同期リクエストの処理
/// < 🎜; >private void ProcessRequest()
{
//入力するポリシーを保存します
ArrayList arrDiscount = new ArrayList();
Response.ContentType = "text/html"; 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.End();
else
{
Response.Write("false");
Response.End();
}
}


ここでは、json Convert を配置する必要がありますデータテーブルへ
[html]




コードをコピー


コードは次のとおりです:


/ //
/// Json から DataTable へ
///
/// // / private DataTable Json2Dtb(string json) { JavaScriptSerializer jss = new JavaScriptSerializer() ArrayList dic = jss.Deserialize json) ; DataTable dtb = new DataTable();
if (dic.Count > 0)
{
foreach (Dictionary drow in dic)
{
if (dtb.Columns.Count == 0)
{
foreach (drow.Keys の文字列キー)
{
dtb.Columns.Add(key, drow[key].GetType () );
}
}
DataRow row = dtb.NewRow();
foreach (drow.Keys の文字列キー)
{
row[key] = drow[キー] ;
}
dtb.Rows.Add(row)
}
}
///
// / Json から DataTable へ
///
///
/// < /returns> ;
private DataTable Json2Dtb(string json)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = jss.Deserialize(json); new DataTable ();
if (dic.Count > 0)
{
foreach (Dictionary drow in dic)
{
if (dtb.Columns.Count) == 0)
{
foreach (drow.Keys の文字列キー)
{
dtb.Columns.Add(key, drow[key].GetType());
}
DataRow row = dtb.NewRow();
foreach (drow.Keys の文字列キー)
{
row[key] = drow[key]} dtb .Rows.Add(row);
}
}
return dtb;
}


このようにして、データをデータベースに書き込むことができます。爽やかな。
もちろん、データベースから読み取ったデータテーブルがある場合、それが json を通じてフォアグラウンドに表示されたらどうなるでしょうか。
まず、データテーブルを json データに変換する必要があります
[html]




コードをコピー


コードは次のとおりです以下:

/// <概要>
/// DataTable转Json
///
///
///
プライベート文字列 Dtb2Json(DataTable dtb)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = new ArrayList();
foreach (dtb.Rows の DataRow 行)
{
Dictionary drow = new Dictionary();
foreach (dtb.Columns の DataColumn 列)
{
drow.Add(col.ColumnName, row[col.ColumnName]);
}
dic.Add(drow);
}
return jss.Serialize(dic);
}
/// <概要>
/// DataTable转Json
///
///
///
プライベート文字列 Dtb2Json(DataTable dtb)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = new ArrayList();
foreach (dtb.Rows の DataRow 行)
{
Dictionary drow = new Dictionary();
foreach (dtb.Columns の DataColumn 列)
{
drow.Add(col.ColumnName, row[col.ColumnName]);
}
dic.Add(drow);
}
return jss.Serialize(dic);
}

その後写回前台
[html]
复制代代码如下:

///
/// 处理异步请求
///

private void ProcessRequest()
{
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反順序列化DataTable
DataTable newdtb = Json2Dtb(json);
//配列化DataTable forJSON
string back = Dtb2Json(newdtb);
Response.Write(back);
Response.End();
}
/// <概要>
/// 处理异步请求
///
private void ProcessRequest()
{
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反順序列化DataTable
DataTable newdtb = Json2Dtb(json);
//配列化DataTable forJSON
string back = Dtb2Json(newdtb);
Response.Write(back);
Response.End();
}

在前台受显示:
[html]
复制代代幣如下:

$(function() {
//点击botton1
$("#botton1").click(function() {
createTable(json);
});
});
//Json 内のデータ
function createTable(json) {
var table = $("
");
for (var i = 0; i o1 = json[i];
var row = $("");
for (o1 のキー) {
var td = $("");
td.text(o1[key].toString());
td.appendTo(行);
}
row.appendTo(テーブル);
}
table.appendTo($("#back"));
}
$(function() {
//点击botton1
$("#botton1").click(function() {
createTable(json);
}) ;
});
//Json 内のデータ
function createTable(json) {
var table = $("
");
for (var i = 0; i o1 = json[i];
var row = $("");
for (o1 のキー) {
var td = $("");
td.text(o1[key].toString());
td.appendTo(行);
}
row.appendTo(テーブル);
}
table.appendTo($("#back"));
}

これで、json 方向後台転送データと表示後の設置が完了します。当然、このような転送方法は転送の 1 つであり、場合によっては文字列も使用できます。 get と post は転送を実行しますが、JavaScript 自体には安全性と不規則な動作があり、一部の重要なデータに対しては、より安全なメソッドも推奨されています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

golang WebSocketとJSONの組み合わせ:データ送信と解析を実現 golang WebSocketとJSONの組み合わせ:データ送信と解析を実現 Dec 17, 2023 pm 03:06 PM

golangWebSocket と JSON の組み合わせ: データ送信と解析の実現 現代の Web 開発では、リアルタイムのデータ送信がますます重要になっています。 WebSocket は双方向通信を実現するために使用されるプロトコルで、従来の HTTP リクエスト/レスポンス モデルとは異なり、WebSocket を使用すると、サーバーがクライアントにデータをアクティブにプッシュできます。 JSON (JavaScriptObjectNotation) は、簡潔で読みやすいデータ交換用の軽量形式です。

MySQL5.7とMySQL8.0の違いは何ですか? MySQL5.7とMySQL8.0の違いは何ですか? Feb 19, 2024 am 11:21 AM

MySQL5.7 と MySQL8.0 は 2 つの異なる MySQL データベース バージョンであり、それらの間には主な違いがいくつかあります: パフォーマンスの向上: MySQL8.0 では、MySQL5.7 と比較してパフォーマンスがいくつか向上しています。これには、より優れたクエリ オプティマイザー、より効率的なクエリ実行プランの生成、より優れたインデックス作成アルゴリズムと並列クエリなどが含まれます。これらの改善により、クエリのパフォーマンスとシステム全体のパフォーマンスが向上します。 JSON サポート: MySQL 8.0 では、JSON データのストレージ、クエリ、インデックス作成など、JSON データ型のネイティブ サポートが導入されています。これにより、MySQL での JSON データの処理と操作がより便利かつ効率的になります。トランザクション機能: MySQL8.0 では、アトミックなどのいくつかの新しいトランザクション機能が導入されています。

PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント May 04, 2024 pm 06:15 PM

PHP 配列を JSON に変換するためのパフォーマンスの最適化方法には、JSON 拡張機能と json_encode() 関数の使用、文字エスケープを回避するためのバッファーの使用、およびサードパーティのエンコード結果の使用の検討が含まれます。 JSONエンコーディングライブラリ。

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? May 06, 2024 pm 10:09 PM

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化を制御します。 シリアル化: @JsonIgnore: プロパティを無視します @JsonProperty: 名前を指定します @JsonGetter: get メソッドを使用します @JsonSetter: set メソッドを使用します Deserialization: @JsonIgnoreProperties: プロパティ @ JsonProperty を無視します:名前を指定 @JsonCreator: コンストラクターを使用 @JsonDeserialize: カスタム ロジック

Pandas の使用法チュートリアル: JSON ファイルを読み取るためのクイック スタート Pandas の使用法チュートリアル: JSON ファイルを読み取るためのクイック スタート Jan 13, 2024 am 10:15 AM

クイック スタート: JSON ファイルを読み取る Pandas の方法、特定のコード サンプルが必要です はじめに: データ分析とデータ サイエンスの分野では、Pandas は重要な Python ライブラリの 1 つです。豊富な機能と柔軟なデータ構造を備え、さまざまなデータを簡単に処理・分析できます。実際のアプリケーションでは、JSON ファイルを読み取る必要がある状況によく遭遇します。この記事では、Pandas を使用して JSON ファイルを読み取る方法を紹介し、具体的なコード例を添付します。 1.パンダのインストール

golang の json.MarshalIndent 関数を使用して、構造をフォーマットされた JSON 文字列に変換します。 golang の json.MarshalIndent 関数を使用して、構造をフォーマットされた JSON 文字列に変換します。 Nov 18, 2023 pm 01:59 PM

golang で json.MarshalIndent 関数を使用して、構造をフォーマットされた JSON 文字列に変換します。Golang でプログラムを作成するとき、多くの場合、構造を JSON 文字列に変換する必要があります。このプロセスでは、 json.MarshalIndent 関数が役に立ちます。フォーマットされた出力。以下では、この関数の使用方法と具体的なコード例を詳しく説明します。まず、データを含む構造体を作成しましょう。以下は目安です

C# 開発で XML および JSON データ形式を処理する方法 C# 開発で XML および JSON データ形式を処理する方法 Oct 09, 2023 pm 06:15 PM

C# 開発で XML および JSON データ形式を処理する方法には、特定のコード サンプルが必要です。現代のソフトウェア開発では、XML と JSON の 2 つのデータ形式が広く使用されています。 XML (Extensible Markup Language) はデータの保存と送信に使用されるマークアップ言語であり、JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 C# 開発では、XML と JSON データの処理と操作が必要になることがよくありますが、この記事では、C# を使用してこれら 2 つのデータ形式を処理し、添付する方法に焦点を当てます。

2台のiPhone間ですべてのデータを移行する方法 詳細説明: 古い携帯電話からデータを移行する方法 2台のiPhone間ですべてのデータを移行する方法 詳細説明: 古い携帯電話からデータを移行する方法 Mar 18, 2024 pm 06:31 PM

多くの友人が Apple 携帯電話を変更するとき、古い携帯電話のすべてのデータを新しい携帯電話にインポートしたいと考えています。理論的にはそれは完全に実現可能ですが、実際には、データを「すべて転送する」ことは不可能です。 「データの一部を転送する」方法をいくつか挙げてください。 1. iTunes は Apple 携帯電話にプリインストールされているソフトウェアで、古い携帯電話のすべてのデータを移行するために使用できますが、コンピュータと組み合わせて使用​​する必要があります。移行は、コンピュータに iTunes をインストールし、データ ケーブルを介して携帯電話とコンピュータを接続し、iTunes を使用して携帯電話内のアプリとデータをバックアップし、最後にバックアップを新しい Apple 携帯電話に復元することで完了します。 2. iCloudiCloud は Apple 独自の「クラウド スペース」ツールで、最初に古い携帯電話にログインできます。

See all articles