大佬教程收集整理的这篇文章主要介绍了AJAX 帖子收到奇怪的文本响应,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有 2 个输入 @H_570_3@mkey 和 url
。
当 key
通过以下代码更改时,我想更改 url
:
const url = document.getElementByID('url');
url.addEventListener('input',(event) => {
let url = event.target;
let mkey = document.getElementByID('mkey');
$.post({
url: "{{ route('contracts.regenerate') }}",data: {
mkey: mkey.value,url: url.value,},headers: {'X-CSRF-TOKEN': $('Meta[name="csrf-token"]').attr('content')},success: (data) => {
alert(data);
let mkey = document.getElementByID('mkey');
mkey.value = data;
}
});
});
名称为 contracts.regenerate
的拉瓦尔路线:
public function regenerateKey(request $request) {
$parts = explode('#',$request->mkey);
$last = printf("%u",crc32($request->url));
return $parts[0] . '#' . $last;
}
这个想法是将 @H_570_3@mkey 构造为 original-mkey-before-hash#crc-from-url
。
Laravel 返回了我所期望的。
示例:
@H_570_3@mkey.value = mkey_60501e2ae282a2.08095650 url.value = http://example.com
Laravel 路由返回字符串 @H_570_3@mkey_60501e2ae282a2.08095650#123(123 - 示例)。 没错。
但是 alert()
显示返回值 2797586643mkey_60501e2ae282a2.08095650#123
。
mkey 之前的数字 2797586643 是意外的。
如何在响应中避免这些数字?
使用 JSON 在后端和前端之间安全传输数据。
将您的控制器\操作更改为:
public function regenerateKey(request $request) {
$parts = explode('#',$request->mkey);
$last = printf("%u",crc32($request->url));
return response()->json([
"mkey" => $parts[0] . '#' . $last
]);
}
还将您的 Js 更改为:
$.post({
url: "{{ route('contracts.regenerate') }}",data: {
mkey: mkey.value,url: url.value,},headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},dataType: 'json',success: (data) => {
alert(data.mkey);
let mkey = document.getElementById('mkey');
mkey.value = data.mkey;
}
});
,
问题在于使用 printf
而不是必需的 sprintf
。
以上是大佬教程为你收集整理的AJAX 帖子收到奇怪的文本响应全部内容,希望文章能够帮你解决AJAX 帖子收到奇怪的文本响应所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。