Ⅰ asp.net ash接收json數組
你可以這樣 在JS裡面 的url裡面設定 data 的值 取個名字,然後在後台用Request["變數名"].toString();得到,數組的話 你把數組組建成一個字元串 在傳吧!
Ⅱ asp頁面用什麼代碼接收ajax傳過來的json數據
cs.html代碼
<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>無標題文檔</title>
<scriptsrc="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.3.min.js"></script>
<script>
functionsaveadd()
{
varxm=$('#xm').val();
varnl=$('#nl').val();
$.ajax({
:"POST",
url:"cs.asp",
data:$('#form1').serialize(),
dataType:"html",//text
success:function(data)
{
//alert(data);
vararr=data.split(',');
for(varxinarr)
{
alert(arr[x]);
}
},
error:function()
{
alert('未知錯誤');
}
});
}
</script>
</head>
<body>
<formid="form1"name="form1"method="post"action="">
<p>
<label>姓名:
<inputtype="text"name="xm"id="xm"/>
</label>
</p>
<p>
<label>年齡:
<inputtype="text"name="nl"id="nl"/>
</label>
</p>
<p>
<inputtype="button"name="button"id="button"value="提交"onclick="saveadd()"/>
</p>
</form>
</body>
</html>
cs.asp代碼
<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%>
<%
xm=Request.Form("xm")
nl=Request.Form("nl")
'addorupdatetable
str=xm&","&nl
response.Write(str)
%>
Ⅲ 如何用jquery $.ajax向aspx頁面傳遞json格式數據
處理業務數據,產生JSon數據.代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
string u = Request["UserName"];
string p = Request["Password"];
string output = string.Format("'UserName':'{0}','Password':'{1}'", u, p);
Response.Write("[{");
Response.Write(output);
Response.Write("}]");
Response.End();
}
詳細:http://www.veryhuo.com/a/view/14293.html
Ⅳ asp頁面如何接收ajax傳過來的json數據
JS的值是無法直接用ASP獲取,JS是屬於客戶端語言,ASP是伺服器端無法直接調用的。
Ⅳ asp.net頁面如何接收AJAX傳遞過來的數組(普通數組和jason數組,兩個麻煩都給舉個例子)
在.cs文件中,用 Page.Request["參數名"]就可以得到AJAX傳遞過來的值。
在 asp.net中,無論是普通數組還是JSON數組,都可以先轉換成字元串,然後傳遞過去。asp.net mvc可以直接傳對象.
例如:
在JS中:
//這里用的是Jquery的ajax
funcation test()
{
var d = [1, 2, 3]; //數組
var s = d.join(','); //轉換成字元串
$.ajax({
url: "要訪問的地址",
data: { p: s,n:d }, //p是參數名,s是值
success: function (msg) {
//msg是返回的結果,這里對返回值進行處理
}
});
}
asp.net後台:
public void TestData()
{
string s=Page.Request["p"];//得到ajax傳遞的參數p的值
string[] d=s.split(',');//轉換成字元數組,至於怎麼轉成整形數組我就不寫了。
}
asp.net mvc後台:
public JsonResult TestData(string p,int[] n)
{
string[] d=p.split(',');//轉換成字元數組
return Json(new {xxxx});
}
JSON數組和普通數組一樣處理,都可以拼成字元串,然後傳遞
Ⅵ 如何拿到前端傳過來的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();
}
在這里進行對數據的處理:
///
/// 處理非同步請求
///
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
///
/// 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 (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數據
///
/// DataTable轉Json
///
///
///
private string Dtb2Json(DataTable dtb)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = new ArrayList();
foreach (DataRow row in dtb.Rows)
{
Dictionary drow = new Dictionary();
foreach (DataColumn col in dtb.Columns)
{
drow.Add(col.ColumnName, row[col.ColumnName]);
}
dic.Add(drow);
}
return jss.Serialize(dic);
}
然後寫回到前台
///
/// 處理非同步請求
///
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 = $("");
for (var i = 0; i < json.length; i++) {
o1 = json[i];
var row = $("");
for (key in o1) {
var td = $("");
td.text(o1[key].toString());
td.appendTo(row);
}
row.appendTo(table);
}
table.appendTo($("#back"));
}
Ⅶ 後台應該如何取到前端傳來的json對象
可先轉成字元串dataForm=dataForm.toString();
後端接收:StringdataForm=request.getParameter("dataForm");
假如有Test這個類,裡面有hello,hello2
那麼就可以將回json格式的數據轉換成數組答格式
List<Test>qualificationList=JSONArray.parseArray(HtmlUtils.htmlUnescape(dataForm),Test.class);
Ⅷ 麻煩看下我在aspx.cs上面寫的代碼,輸出到json到底是什麼
1、首先服務端返回的是json格式的字元串,因為進行了json序列化;
2、客戶端ajax獲取到的數據是json對象還是json字元串,這要看ajax的dataType屬性設置的是否為「json」;
$.ajax({
url:url,
type:'get',
dataType:'json',
cache:false,
success:function(data){
//此處的data就是json對象,可以直接使用;
}
});
3、ajax中的success方法中的data變數,裡面就是服務端在資料庫中查詢出來的數據;
data是個數組,裡面有多條數據;
Ⅸ vb.net做web序列化的json串為什麼html前台不接受,總報json串錯誤
你的json串本身沒有問題,錯就錯在Response.Write(json),這有什麼意義呢?要解決問題不妨把源碼貼出來,看看你到底要干嗎。
Ⅹ asp.net怎麼接收post方式傳過來的json格式
輸入String propertyId = request.getParameterValues(propertyId);或String propertyId = request.getParameterValues(propertyId );
這兩種方法都可以,只是適用的的方式不同。