首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用getJSON,通过post方法发送数据?

如何使用getJSON,通过post方法发送数据?
EN

Stack Overflow用户
提问于 2009-04-15 11:15:57
回答 7查看 192.1K关注 0票数 117

我正在使用上面的方法&它与URL中的一个参数一起工作得很好。

例如,应用控制器/动作/参数格式的Students/getstud/1

现在我在学生控制器中有了一个动作,它接受两个参数并返回一个JSON对象。

那么,如何使用post方法通过$.getJSON()发布数据呢?

类似的方法也是可以接受的。

重点是使用AJAX调用控制器的操作。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-04-15 11:59:16

$.getJSON()方法执行HTTP GET而不是POST。您需要使用$.post()

代码语言:javascript
复制
$.post(url, dataToBeSent, function(data, textStatus) {
  //data contains the JSON object
  //textStatus contains the status: success, error, etc
}, "json");

在调用中,dataToBeSent可以是您想要任何东西,尽管如果要发送html表单的内容,您可以使用serialize方法从表单创建帖子的数据。

代码语言:javascript
复制
var dataToBeSent = $("form").serialize();
票数 227
EN

Stack Overflow用户

发布于 2010-09-29 11:49:17

这是我的“一行”解决方案:

代码语言:javascript
复制
$.postJSON = function(url, data, func) { $.post(url+(url.indexOf("?") == -1 ? "?" : "&")+"callback=?", data, func, "json"); }

为了使用jsonp和POST方法,此函数将"callback“GET参数添加到URL。这是它的使用方法:

代码语言:javascript
复制
$.postJSON("http://example.com/json.php",{ id : 287 }, function (data) {
   console.log(data.name);
});

服务器必须准备好处理回调GET参数,并将json字符串返回为:

代码语言:javascript
复制
jsonp000000 ({"name":"John", "age": 25});

其中"jsonp000000“为回调GET的值。

在PHP中,该实现如下所示:

代码语言:javascript
复制
print_r($_GET['callback']."(".json_encode($myarr).");");

我做了一些跨域测试,它似乎起作用了。不过,仍然需要更多的测试。

票数 12
EN

Stack Overflow用户

发布于 2015-03-16 02:08:13

只需将以下代码行添加到您的<script> (在加载jQuery之后但在发布任何内容之前的某个位置):

代码语言:javascript
复制
$.postJSON = function(url, data, func)
{
    $.post(url, data, func, 'json');
}

$.postJSON替换(部分/全部) $.getJSON,尽情享受吧!

您可以使用与$.getJSON相同的Javascript回调函数。不需要对服务器端进行更改。(嗯,我总是推荐在PHP中使用$_REQUESThttp://php.net/manual/en/reserved.variables.request.phpAmong $_REQUEST, $_GET and $_POST which one is the fastest?)

这比@lepe的解决方案更简单。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/751218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档