相关疑难解决方法(0)

如何在jQuery中通过Request Body提交JSON数据?

我不是jQuery的专家,认为我更新鲜.这是我的代码,其中一个不负责Request Body提交的jQuery JSON数据.

<!doctype html>
<html lang="en">
<head>
    <title>jQuery Data submitted by JSON Body Request</title>
    <script type="text/javascript" src="jquery-1.3.2.js"></script>
    <script type="text/javascript">
    $.ajax({
        url : "/",
        type: "POST",
        data: [
            {id: 1, name: "Shahed"}, 
            {id: 2, name: "Hossain"}
        ],
        contentType: "application/json; charset=utf-8",
        dataType   : "json",
        success    : function(){
            console.log("Pure jQuery Pure JS object");
        }
    });

    </script>
</head>
<body>
    <p>
        Example of submission JS Object by JSON Body Request<br/>
        Its could submitted mass amount of data by Message body<br/>
        It's secured and faster …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery json

10
推荐指数
1
解决办法
3万
查看次数

在ColdFusion中使用表单数组?

我不知道如何在ColdFusion 9中处理这个问题,我有一个表单被提交(POST)与元素复选框,称为items [].

当我做一个<cfdump var="#form#" />没问题的时候,我得到所有用正确名称显示的项目,items[]例如:

struct 
ITEMS[] 13,14  
FIELDNAMES ITEMS[] 
Run Code Online (Sandbox Code Playgroud)

但是会<cfdump var="#form.items[]#" />导致错误.如何访问CF9字段值?以某种方式循环通过它?

我似乎无法对数组做任何事情来获取它的id?思考?我有点难过,ColdFusion不是在网上找到示例/引用的最简单的语言.;)

有没有正确的方法来解决这个问题?我需要从那里获取ID,以便我可以参考表单中检查的行,因此我可以跟进一个动作.

谢谢!

html arrays coldfusion

8
推荐指数
1
解决办法
9963
查看次数

为什么jquery将json作为参数名而不是作为请求体发布?

对于具有RESTful后端的webapp,我使用jquery的$ post将一些json发布到服务器.令我惊讶的是,json被填充在请求的表单数据的参数键中,而不是在请求体中.我可以想到其他一些方法,但问题是为什么它不能像我期望的那样工作.

在服务器上我使用scalatra并打印一些请求信息:

println("Request received:")
println(fromInputStream(request.getInputStream).getLines().mkString)
println("--------------")
println(request.getParameterMap.toString)
println("==============")
Run Code Online (Sandbox Code Playgroud)

现在一个简单的卷曲,我认为是正确的:

curl -X POST http://localhost:8080/x -H "Content-Type: application/json" -d '{"a":"b"}'
Run Code Online (Sandbox Code Playgroud)

生产:

Request received:
{"a":"b"}
-------------
{}
==============
Run Code Online (Sandbox Code Playgroud)

并用html + js来说明问题:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<body>
  <button type="button" onclick="doPost()">
    POST
  </button>
  <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
  <script type="text/javascript">
function doPost() {
    $.post("http://localhost:8080/x",     
           JSON.stringify({"a":"b"} ), 
           function(data) {});
}
  </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

生产:

Request received:

--------------
{{"a":"b"}=[Ljava.lang.String;@7a2897ac}
============== 
Run Code Online (Sandbox Code Playgroud)

因此,如果我使用带有字符串化的json字符串和回调的$ post,我会将所有内容填充到单个参数键中.如果这是正常的,我想知道为什么,以及我应该如何在服务器上彻底解开这个问题.如果不正常,我想知道我应该怎么做才能使用$ post在响应体中获取它.

更新:现在有一个jquery功能请求,以支持$ .post上的contentType

rest jquery json scalatra

7
推荐指数
1
解决办法
5155
查看次数

Grails:request.JSON来自哪里,我如何用jQuery的.ajax()或.post()来处理它?

我有一个控制器,在请求体中需要一些json 并用它做了很棒的事情:

def myController(){
  def myAction(){
    println "Here is request.JSON: ${request.JSON as JSON}"
    println "Here is params: $params"
    //do awesome stuff with request.JSON only
    return
  }
}
Run Code Online (Sandbox Code Playgroud)

所以我可以用cURL来达到这个目的:

curl -i -H "content-type: application/json" -d "{\"someVariable\":\"Absolutely\"}"
Run Code Online (Sandbox Code Playgroud)

我的grails控制器打印:

Here is request.JSON: {"someVariable":"Absolutely"}
Here is params: [controller:'myController', action:'myAction']
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都那么好,但是当我尝试用jQuery做到这一点时,它会进入params!

阅读了这两个问题: 使用jQuery将POST-body设置为JSON对象

jQuery在请求体中发布有效的json

我对如何编写.js的最佳猜测是:

var sendMe = {"someVariable":"Absolutely"}
$.ajax({
  url: '/myController/myAction',
  type: 'POST',
  processData: false,
  data: JSON.stringify(sendMe),
  dataType: 'json',
  success: function(data) {

  },
  error: function(request, status, error) {

  }                     
});
Run Code Online (Sandbox Code Playgroud)

但当我这样做时,我的控制器打印: …

jquery grails json curl postdata

6
推荐指数
2
解决办法
7477
查看次数

使用ajax请求传递js对象

我需要通过ajax请求向服务器发送一个js对象;是一个包含节点 js 中带有 Sequelize orm 的 sql 查询参数的对象;一个例子是这样的:

var data =
{
    include: [
        { model: model.Shop },
        { model: model.Product,
            include: [
                { model: model.File }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

它可以包含嵌套在多个级别上的对象数组;在发送之前,如果需要,我可以将其转换为有效的 JSON,如下所示:

var data =
{
    "include": [
        { "model": "model.Shop" },
        { "model": "model.Product",
            "include": [
                { "model": "model.File" }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试将其作为 JSON 发送:

$.ajax({
    //...
    data: data
});
Run Code Online (Sandbox Code Playgroud)

问题是,当我在节点服务器中对接收到的字符串做 JSON.parse 时,每个属性的值都是一个字符串并且它不被识别为模型对象;

我怎样才能让我的服务器能够理解这一点?

javascript ajax jquery node.js

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

jquery ×4

json ×3

ajax ×2

javascript ×2

arrays ×1

coldfusion ×1

curl ×1

grails ×1

html ×1

node.js ×1

postdata ×1

rest ×1

scalatra ×1