json與ajax編程1,jsonjava

本文目錄一覽:

關於ajax和json的問題

朋友你這個問題去csdn豈不是更好,嘿嘿這裡給的財富值不值一提呀

ajax與json數據獲取方法,搞了好久沒搞出來

你好,我看了你的代碼,你前端使用json格式接收數據,但是你的伺服器端輸出的格式好像不是json格式啊,我是做php的,我做交互數據,都要將數據格式化,轉化成json格式再輸送到前端的。

如何使用ajax將json傳入後台數據

首先採用jquery內部封裝好的方法是比較簡單的,我們只需做的就是修改裡面的一些配置:

以下代碼是對$.ajax()的解析:

$.ajax({

type: “POST”, //提交方式

contentType: “application/json; charset=utf-8”, //內容類型

dataType: “json”, //類型

url: “前台地址/後台方法”, //提交的頁面,方法名

data: “parameter”, //參數,如果沒有,可以為null

success: function (data) { //如果執行成功,那麼執行此方法

alert(data.d); //用data.d來獲取後台傳過來的json語句,或者是單純的語句

},

error: function (err) { //如果執行不成功,那麼執行此方法

alert(“err:” + err);

}

});

當然我初次學習的時候,看到這些也是有些茫然的,因為不知道到如何才能將其用到自己的程序裡面,所以就寫了一個小的檢測網頁來測試一下,如果你測試的時候沒有達到你想要的結果,那麼希望你回頭看一下,前台是否寫的有問題,或者是參考一下下文中的注意事項吧。

前台代碼 :

%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”number3.aspx.cs” Inherits=”ajax1.number3″ %

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”

html xmlns=””

head runat=”server”

title測試ajax/title

script src=”js/jquery-1.4.1.js” type=”text/javascript”/script

script type=”text/javascript” language=”javascript”

function testAjax() {

$.ajax({

type: “POST”,

contentType: “application/json; charset=utf-8”,

dataType: “json”,

url: “number3.aspx/GetJson”,//傳入後台的地址/方法

data: “{‘RID’:’123′}”,//參數,這裡是一個json語句

success: function (data) {

var result = data.d;

alert(result);

},

error: function (err) {

alert(“err:” + err);

}

});

}

/script

/head

body

form id=”form1″ runat=”server”

div

button 用button測試ajax/button

input type=”button” value=”testAjax” /

/div

/form

/body

/html

後台代碼:

using System;

using System.Web.Services;

namespace ajax1

{

public partial class number3 : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

[WebMethod]

public static string GetJson(string RID)

{

return “{‘ID’:'” + RID + “‘}”;

}

}

}

後台代碼中以黃色為背景的就是我們要注意的地方:

1.using System.Web.Services;對應下面的[WebMethod]這個一定要加上的。

2.後台寫的方法一定是公共靜態的即一定是public static開頭的。

3.參數一定是前台的data所傳參數的鍵

前台中要注意的地方:

1.大家應該會注意到,前台我用的是兩個button來測試,但是第一個button是不行的,頁面會刷新一下,其實這都是form

id=”form1″

runat=”server”這行代碼的問題,button標籤會提交本頁面的內容,從而導致非同步刷新失敗。所以建議大家不要用button標籤。但是如果不得不用的話,解決辦法還是有的,目前我知道的只有兩個:

①:將form id=”form1″

runat=”server”代碼去掉,當然如果本頁面有要提交的內容就會很麻煩了

②:將button onclick=”aaa();return

false;”用button測試ajax/button代碼改為:button

onclick=”aaa();return false;”用button測試ajax/button

2。前台的測試結果是:

那麼我們如何來只獲取json後面的值,而不是整個json語句呢,我們可以將json語句對象化,然後根據鍵來取得對應的值:前台的testAjax()的方法改為:

function testAjax() {

$.ajax({

type: “POST”,

contentType: “application/json; charset=utf-8”,

dataType: “json”,

url: “number3.aspx/GetJson”,

data: “{‘RID’:’123′}”,

success: function (data) {

var result = eval(“(” + data.d + “)”);//這句話是將json語句對象化

alert(result.ID);

},

error: function (err) {

alert(“err:” + err);

}

});

}

此時結果為:

以上就是初步學習json當時遇到的問題所留下的經驗。同時我想驗證一下是否能夠在後台重載方法來實現根據前台的data是否有參數來判斷要執行的方法,所以我將代碼改動了一下:

改動後的前台代碼

%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”number3.aspx.cs” Inherits=”ajax1.number3″ %

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”

html xmlns=””

head runat=”server”

title測試ajax/title

script src=”js/jquery-1.4.1.js” type=”text/javascript”/script

script type=”text/javascript” language=”javascript”

function testAjax() {

$.ajax({

type: “POST”,

contentType: “application/json; charset=utf-8”,

dataType: “json”,

url: “number3.aspx/GetJson”,

data: “{‘RID’:’123′}”,

success: function (data) {

var result = eval(“(” + data.d + “)”);

alert(result.ID);

},

error: function (err) {

alert(“err:” + err);

}

});

}

function aaa() {

$.ajax({

type: “POST”,

contentType: “application/json; charset=utf-8”,

dataType: “json”,

url: “number3.aspx/GetJson”,

success: function (data) {

alert(data.d);

},

error: function (err) {

alert(“err:” + err);

}

});

}

/script

/head

body

form id=”form1″ runat=”server”

div

button 用button測試ajax/button

input type=”button” value=”testAjax” /

input type=”button” value=”aaa” /

/div

/form

/body

/html

改動後的後台代碼

using System;

using System.Web.Services;

namespace ajax1

{

public partial class number3 : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

[WebMethod]

public static string GetJson()

{

return “hello ajax”;

}

[WebMethod]

public static string GetJson(string RID)

{

return “{‘ID’:'” + RID + “‘}”;

}

}

}

所得的效果為:

第一個和第二個按鈕點擊後效果為:

第三個按鈕點擊後效果為:

所以我的初步結論為:後台的重構函數是不成功的,如果有的重構參數的話,只會執行帶參數的,而不會執行那個不帶參數的。現在還不是太明白為什麼會這樣,所以希望明白原理的分享一下自己的觀點。當然這只是個人觀點,如若有誤,望請指正。

json 和ajax的區別

JSON來自於javascript

但是應用上面遠遠不止是javascript的json

它相當於xml,是一種比較流行的標準格式,是數據的載體

javascript json 是用於javascript程序的,它可以支持對象引用以及函數

ajax json只是最簡單的字元串和數字,它不可能完全支持javascript裡面的數據類型,

json和jsonp的區別,ajax和jsonp的區別

json和jsonp雖然只有一個字母的區別,但是它們之間扯不上關係。

json是一種輕量級的數據交換格式。

jsonp是一種跨域數據交互協議。

json的優點:(1)基於純文本傳遞極其簡單,(2)輕量級數據格式適合互聯網傳遞,(3)容易編寫和解析。

ajax和jsonp的區別:

相同點:都是請求一個url

不同點:ajax的核心是通過xmlHttpRequest獲取內容

jsonp的核心則是動態添加script標籤來調用伺服器 提供的js腳本。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HSYY的頭像HSYY
上一篇 2024-10-04 00:23
下一篇 2024-10-04 00:23

相關推薦

  • 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
  • 如何使用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
  • 使用Python獲取JSON並解析

    本文將介紹如何使用Python獲取JSON數據並解析相關內容。通過使用Python的第三方庫,我們可以輕鬆地處理JSON數據,包括讀取、提取和操作JSON數據。 一、獲取JSON數…

    編程 2025-04-27
  • Python存為JSON的方法及實例

    本文將從以下多個方面對Python存為JSON做詳細的闡述。 一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱…

    編程 2025-04-27
  • 使用Spread 8展示JSON數據

    使用Spread 8可以方便地展示JSON數據,本文將詳細介紹如何利用Spread 8展示JSON數據。 一、Spread 8簡介 Spread 8是一款強大的電子表格軟體,可以方…

    編程 2025-04-27
  • 如何在json轉實體類時忽略大小寫

    本文將從以下幾個方面介紹如何在json轉實體類時忽略大小寫。 一、使用Gson庫實現json轉實體類忽略大小寫 Gson是Google提供的Java JSON操作庫,它提供了簡單易…

    編程 2025-04-27
  • C# 中 JSON null 不顯示的處理方法

    本文將為大家介紹在 C# 中處理 JSON null 不顯示的解決方法。 一、null 不顯示的問題 在使用 C# 進行 JSON 數據處理的時候,經常會遇到 null 值不顯示的…

    編程 2025-04-27
  • 解決js ajax post 419問題

    對於使用ajax post請求時出現的419問題,我們需要進行以下幾個方面的闡述,包括返回碼的含義、可能出現的情況、解決方案等內容。 一、解析419返回碼 419返回碼錶示用戶超時…

    編程 2025-04-27

發表回復

登錄後才能評論