我正在尝试使用navigator在
,但数据没有到达PHPbeforeuload
事件上发送POST
请求。sendBeacon$\u POST
。我认为这是因为当使用navigator时。sendBeacon
标题内容类型
始终设置为文本/普通;charset=UTF-8,但在我的例子中,因为我需要发送一个查询字符串,因此使用
application/x-www-form-urlencoded
。
var amountOfApples = 0;
...
addEventListener("beforeunload", function(e) {
navigator.sendBeacon("save.php", "key=apples&value=" + amountOfApples);
});
如何做到这一点,并确保标头设置为
Application/x-wow-form-urlencoded
?
阅读php://input
并通过parse_str()
运行它。基本上:
$MY_POST = null;
parse_str(file_get_contents('php://input'), $MY_POST);
Beacon API使用的Content-Type标头取决于传递给sendBeacon第二个参数的实例类型。
要发送应用程序/x-www-form-urlencoded
,请使用urlsearchparms
实例。
var params = new URLSearchParams({
key : 'apples',
values : amountOfApples
});
navigator.sendBeacon(anUrl, params);
要发送multipart/form data
标题,请使用FormData
实例。
var params = new FormData();
params.append('key', 'apples');
params.append('value', amountOfApples);
navigator.sendBeacon(anUrl, params);
要发送application/json
标题,请使用Blob
并设置其类型。
var data = {
key : 'apples',
values : amountOfApples
};
var params = new Blob(
[JSON.stringify(data)],
{type : 'application/json'}
);
navigator.sendBeacon(anUrl, params);
Jersey文档给出了如何在资源上注入HttpSession的示例。我应该如何注入(或以其他方式访问)在请求中发送的表单参数,并使用“Content Type:application/x-www-form-urlencoded”?我看到这些都是作为参数在方法上传递的,而且似乎没有注释,让我相信这里有一些怪癖? 我目前使用的(naive)工厂实现如下,JerseyHttpServletRequest
RESTAPI在映射到Java对象时采用输入内容类型:application/x-www-form-urlencoded,如 在表单输入请求中,我正在设置my_name和my_phone的值,但MyRequest对象的myName和myPhone为null。 我正在使用Jackson annotations 2.3 jar 有什么建议吗?可能有什么问题?
我为Django API项目编写了一个基于angular的客户端应用程序。其中一个endpoint接受application/x-www-form-urlencoded格式的请求,因为它同时包含文件和字符串数据,我很确定它在服务器端工作正常——我已经使用POSTMAN准备了一个application/x-www-form-urlencoded请求: 当然,服务器响应正确,并且已添加文件。以下是确切
问题内容: 我想上网本REST API,它接受三个参数: ,, 我做它像这样在AngularJS为: 但是我总是这样: 对象{数据:“ {”结果“:”假“}”“,状态:200,配置:对象,状态文本:”确定“,标头:功能} 要么 {“ data”:“ {\” result \“:\” false \“}”,“状态”:200,“ config”:{“方法”:“ POST”,“ transformReq
我已经使用Springboot和ApacheCXF库实现了webservice。 如果header设置为content type:application/x-www-form-urlencoded,则会抛出“读取XMLStreamReader时出错”。 它的工作原理如果内容类型:应用程序/xml。 我在我们的遗留应用程序old Spring上公开了相同的Web服务,该应用程序托管在tomcat w
问题内容: 我是Web API的新手。我想使用web-api接收HTTP POST数据。content-type为,请求主体为: (JSON格式)。 我的控制器是这样的: 但是formData始终为null。仅当我将请求正文更改为: 我可以找到已保存在我的字符串中。 所以我的问题是我应该如何接收具有以下格式的数据: ? 是否有一种简单的方法可以将JSON淡化为C#? 感谢帮助! 更新:我尝试使用模