$.ajax 获取请求
Posted
技术标签:
【中文标题】$.ajax 获取请求【英文标题】:$.ajax get the request 【发布时间】:2012-09-26 09:28:34 【问题描述】:您好,有没有办法从帖子中获取请求以便我打印出来?
例如,我想得到这个(登录服务器)。
/App/user/?email=phe@mail.com&dob=Fri Oct 05 2012 10:23:25 GMT+0200 (CEST)&childPortions=&tips=on&firstName=]
我知道有这方面的工具,但我现在对此并不感兴趣。
$.ajax(
type: 'POST',
url: "/App/user/",
data: profile,
cache: false,
success: function(data)
$(".response-container").html(JSON.stringify(data, null, 2));
);
这看起来很有趣(jQuery.param())
data 选项可以包含形式为 key1=value1&key2=value2 的查询字符串,或形式为 key1: 'value1', key2: 'value2' 的映射。如果使用后一种形式,则数据在发送之前使用 jQuery.param() 转换为查询字符串。可以通过将 processData 设置为 false 来规避此处理。如果您希望将 XML 对象发送到服务器,则该处理可能是不可取的;在这种情况下,请将 contentType 选项从 application/x-www-form-urlencoded 更改为更合适的 MIME 类型。
编辑: .ajaxSend 永远不会被执行。调用成功函数。怎么会这样?
$(document).ajaxSend(function(e, jqXhr, options)
alert("hallo");
);
$.ajax(
type: 'POST',
url: "/App/user/",
data: profile,
cache: false,
success: function(data)
console.log("ajax sent!")
);
【问题讨论】:
什么?你的问题不清楚。 我想在请求发送到服务器时打印它。 在客户端打印,还是在服务器端打印? 如果您需要在客户端进行调试,所有现代浏览器都已经支持。它们可以设置为将 httprequests 打印到控制台 【参考方案1】:您可以使用.ajaxSend
全局事件处理程序在所有 AJAX 请求发送到服务器之前对其进行处理。传递给事件处理程序的参数提供了您需要的所有信息。
Live example。
【讨论】:
这是答案,但我的 ajaxSend 没有触发。我打电话给ajax,因为我得到了回应。有什么想法吗? @user874774:我不知道你在说什么。【参考方案2】:当然有一种方法可以在服务器端获取请求数据。如何 - 取决于您使用的后端类型(php、JSP、ASP.NET、DJANGO....)
在 PHP 中,您可以检查 $_SERVER['QUERY_STRING']
或 $_POST
。
【讨论】:
发送前我的js前端需要它【参考方案3】:在 C# 中你可以使用
Request.RawUrl
【讨论】:
以上是关于$.ajax 获取请求的主要内容,如果未能解决你的问题,请参考以下文章