$.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 获取请求的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法从 ajax 发布请求中获取操作

Symfony 5 / 请求响应:使用 Ajax 获取数据

Ajax 和 Places API 获取请求

使用ajax发送异步请求,请求后端的控制层方法,并且获取这个方法返回的日期,然后显示在页面上?

django ajax 请求获取选定的索引

Django通过ajax获取请求发出两个请求