2013-04-05 86 views
2

我试图发送JSON字符串如何发送json数据表单jQuery?

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

URL,而我做的AJAX调用我没有得到如何得到这个字符串值吗?我应该用什么request.getParameter?参数值应该是多少?

+1

你实际上并没有发送json。 – Musa 2013-04-05 15:47:44

+0

你错过了一个括号,我已经为你添加了它(在'alert(response)'后) – MMM 2013-04-05 15:52:20

+0

@MMM:是的。我输错了它..感谢编辑。 – NewUser 2013-04-05 15:54:01

回答

2

这可能是一个坏主意,但所做的工作。感谢大家分享你的想法很难发送数据。我看到@baadshah提供的所有建议答案,但是我无法实现一个答案。 :(我再分析这个问题。

我的问题是,我不能在服务器端页面,在这里,因为我是能够访问其他元素检索JSON数据。我的HTML页面有这些

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

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

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

被卡住超过几个小时,感到沮丧我想另一种方式后,这是我找到了解决办法,这个问题会,如果我能俱乐部得到解决带有任何输入标签的JSON字符串wi一个有效的名字。下一刻,我在脚本标记中添加了此行

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

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

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

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

+0

其实很难得到的问题,你的柜台也看起来很有希望.. cheers :) +1。 – 2013-04-05 18:19:18

0

type: "POST"

应该这样做。

+0

我应该在request.getParameter()中使用什么? – NewUser 2013-04-05 15:42:04

+0

获取参考错误的帖子没有被定义.. :( – NewUser 2013-04-05 15:43:57

+0

@Dibya检查我的答案。如果有任何问题请回复。 – 2013-04-05 15:46:07

3

Ajax请求:

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"); 
+0

仍然为null – NewUser 2013-04-05 15:52:37

+0

实际上你在firebug中看到了什么?从客户端看到的值是什么?你在firebug中看到过吗? – 2013-04-05 15:55:24

+0

基本上我不知道如何把这个参数发送到服务器端的JSP页面。 JSP页面因此导致JSP页面的输出不正确我从AJAX cal获得错误消息我在这个问题上忽略了这一点。 – NewUser 2013-04-05 15:58:42