golang获取并解析ajax请求参数(带数组)
2017-01-19 10:25
543 查看
前台代码:(category是数组)
var data = {
title: title,
category: category.split(","),
cancomment: cancomment,
content: content,
totalWords: totalWords
};
$.ajax({
type: "POST",
url: "/addArticle",
traditional :true,
// contentType: "application/json",
// data: JSON.stringify(data),
data: data,
success: function(msg) {
var msgObject = JSON.parse(msg);
if(msgObject.Status === true) {
// window.location.href = msgObject.Url;
}
}
});后台代码:
package controller
import (
"encoding/json"
"fmt"
"github.com/gorilla/schema"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
"myapp/module"
"net/http"
"strconv"
"strings"
"time"
)
type AddArticleResult struct {
Content module.Article
Status bool
IsAuthor string
Url string
}
type Asd struct {
Title string
Category []string
Cancomment string
Content string
TotalWords int64
}
func AddArticle(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
fmt.Println("解析表单数据失败!")
}
var decoder = schema.NewDecoder()
var asd Asd
fmt.Println(r.PostForm)
err = decoder.Decode(&asd, r.PostForm)
if err != nil {
fmt.Println("解码表单数据失败!")
fmt.Println(err)
}
fmt.Println(asd)
category := strings.Split(r.FormValue("category"), ",")
fmt.Println("category---", asd.Category)
for k, v := range asd.Category {
fmt.Println(k, v)
}
// json.Unmarshal(data, &asd)
// --------------------------------------------------------
其他代码在这里省略。。。。。。。。。
}
var data = {
title: title,
category: category.split(","),
cancomment: cancomment,
content: content,
totalWords: totalWords
};
$.ajax({
type: "POST",
url: "/addArticle",
traditional :true,
// contentType: "application/json",
// data: JSON.stringify(data),
data: data,
success: function(msg) {
var msgObject = JSON.parse(msg);
if(msgObject.Status === true) {
// window.location.href = msgObject.Url;
}
}
});后台代码:
package controller
import (
"encoding/json"
"fmt"
"github.com/gorilla/schema"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
"myapp/module"
"net/http"
"strconv"
"strings"
"time"
)
type AddArticleResult struct {
Content module.Article
Status bool
IsAuthor string
Url string
}
type Asd struct {
Title string
Category []string
Cancomment string
Content string
TotalWords int64
}
func AddArticle(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
fmt.Println("解析表单数据失败!")
}
var decoder = schema.NewDecoder()
var asd Asd
fmt.Println(r.PostForm)
err = decoder.Decode(&asd, r.PostForm)
if err != nil {
fmt.Println("解码表单数据失败!")
fmt.Println(err)
}
fmt.Println(asd)
category := strings.Split(r.FormValue("category"), ",")
fmt.Println("category---", asd.Category)
for k, v := range asd.Category {
fmt.Println(k, v)
}
// json.Unmarshal(data, &asd)
// --------------------------------------------------------
其他代码在这里省略。。。。。。。。。
}
相关文章推荐
- jQuery发送含有数组参数的ajax请求以及后台Struts2的OGNL解析错误
- jQuery发送含有数组参数的ajax请求以及后台Struts2的OGNL解析错误
- jQuery发送含有数组参数的ajax请求以及后台Struts2的OGNL解析错误
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- Asp.net中jquery的ajax请求页面获取参数的注意点
- web前端代码整理 字符串拼接 获取地址栏参数 ajax请求 时间戳
- AJAX POST请求中参数以form data和request payload形式在php中的获取方式
- $.ajax()post方式请求参数无法传递,request.getParameter()无法获取
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- jquery多选择动态参数的使用以及ajax异步请求中提交整个form表单中serializeArray()的使用以及后台值得获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- 如何使用Ajax(XMLHttpRequest)发送带参数的请求,以及如何在Servlet中获取请求中的参数
- java ajax 请求后获取 json 数据 以及 使用 解析 ,解惑
- 前台发送 ajax 请求到后台传递数组参数
- HTTP AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- jQuery的AJAX请求发送JSON数组参数