2

我正在尝试发送 JSON 字符串

var json = {"city":value1, "country":value2};
$.ajax({
    url : url,
    data : json,
    dataType : 'json',
    success : function(response) {
        alert(response);
    }
})

URL我进行ajax调用的地方,我没有得到如何在那里获取这个字符串值?我应该使用request.getParameter什么?参数中的值应该是什么?

4

3 回答 3

3

阿贾克斯请求:

 var jsonObj= { jsonObj: [... your elements ...]};

    $.ajax({
        type: 'post',
        url: 'Your-URI',
        data: JSON.stringify(jsonObj),
        contentType: "application/json; charset=utf-8",
        traditional: true,
        success: function (data) {
            ...
        }
    });

在服务器端:

String city =    request.getParameter("city");

String country=    request.getParameter("country");
于 2013-04-05T15:42:16.430 回答
2

这可能是一个坏主意,但已经完成了工作。感谢大家分享您的想法很难发送数据。我看到了@baadshah 提出的所有建议答案,但是我无法实现一个。:(。我重新分析了这个问题。

我的问题是我无法JSON在服务器端页面中检索数据,因为我能够访问其他元素。我的 HTML 页面有其中之一

  <input type = "text" name = "fname" class = "imp"/>

在我的 JSP 页面中,我可以使用

 String fname = request.getParameter("fname");

在被困了几个多小时并感到沮丧之后,我想到了另一种方式。这是我找到的解决方案。如果我可以将JSON字符串与具有有效名称的任何输入标签组合在一起,则此问题将得到解决。下一刻我在脚本标签中添加了这一行

$('input[name=hide]').val(json);
var dataToBeSent = $("form#hidden").serialize();

在 HTML 部分中,我添加了以下代码段。

<form name="hidden" id="hidden">
     <input type="hidden" name="hide"/>
</form>

这解决了我的问题。这可能不是最好的方法,但它确实完成了工作。

于 2013-04-05T18:06:16.247 回答
0

type: "POST"

应该做的伎俩。

于 2013-04-05T15:32:30.917 回答