jquery.min.js:9600 XHR 加载失败:POST
jquery.min.js:9600 XHR failed loading: POST
我想将 pdf 从 jspdf 上传到我的服务器。
我用 Ajax 作为它。
我通过表单中的函数打开 Javascript。
onsubmit="pdferzeugen();"
在 ajax 代码之上,我通过“jspdf”创建了 pdf 并将其保存到 datauri (base64)。
Javascript:
var datauri = pdf.output('datauri');
var data = new FormData();
data.append("pdf_data", datauri);
$.ajax({
url: "./uploads/upload.php",
type: "POST",
processData: false,
contentType: false,
data: data,
});
upload.php:
if(!empty($_POST['pdf_data'])){
$data = $_POST['pdf_data'];
$fname = "test.pdf"; // name the file
$file = fopen("./uploads/" .$fname, 'w'); // open the file path
fwrite($file, $data); //save data
fclose($file);
}
但这对我不起作用。
Chrome 总是说:
jquery.min.js:9600 XHR failed loading: POST "http://app-her-visitor/begehung/uploads/upload.php".
我在整个 google 中搜索了这个错误,但没有成功。
我希望你能帮助我:-)
感谢帮助
问候
问题出在您发送的数据之间。在通过 ajax 发送之前验证您的数据,因为数据类型应该是:
- PlainObject 或 String 或 Array & 成功方法必须至少有一个参数
- 类型:函数(任何数据、字符串 textStatus、jqXHR jqXHR)
祝你好运。
答案是我在提交表单后刷新页面并将base64数据发送到我的服务器。
我需要阻止它刷新页面,这样它才能成功发送数据。
HTML
onsubmit="pdferzeugen();return false"
Javascript
var datauri = pdf.output('dataurl');
$.ajax({
url: "./uploads/upload.php",
type: "POST",
data: { pdf: datauri },
success: function(data) {},
});
PHP
$pdf = str_replace('data:application/pdf;base64,', '', $_POST['pdf']);
$pdf_decoded = base64_decode ($pdf);
$pdf = fopen ('Begehungsprotokoll.pdf','w');
fwrite ($pdf,$pdf_decoded);
fclose ($pdf);
onsubmit 中的 return false
将阻止它重新加载页面,现在 pdf 上传到我的服务器。
我想将 pdf 从 jspdf 上传到我的服务器。 我用 Ajax 作为它。
我通过表单中的函数打开 Javascript。
onsubmit="pdferzeugen();"
在 ajax 代码之上,我通过“jspdf”创建了 pdf 并将其保存到 datauri (base64)。
Javascript:
var datauri = pdf.output('datauri');
var data = new FormData();
data.append("pdf_data", datauri);
$.ajax({
url: "./uploads/upload.php",
type: "POST",
processData: false,
contentType: false,
data: data,
});
upload.php:
if(!empty($_POST['pdf_data'])){
$data = $_POST['pdf_data'];
$fname = "test.pdf"; // name the file
$file = fopen("./uploads/" .$fname, 'w'); // open the file path
fwrite($file, $data); //save data
fclose($file);
}
但这对我不起作用。 Chrome 总是说:
jquery.min.js:9600 XHR failed loading: POST "http://app-her-visitor/begehung/uploads/upload.php".
我在整个 google 中搜索了这个错误,但没有成功。 我希望你能帮助我:-)
感谢帮助
问候
问题出在您发送的数据之间。在通过 ajax 发送之前验证您的数据,因为数据类型应该是:
- PlainObject 或 String 或 Array & 成功方法必须至少有一个参数
- 类型:函数(任何数据、字符串 textStatus、jqXHR jqXHR)
祝你好运。
答案是我在提交表单后刷新页面并将base64数据发送到我的服务器。
我需要阻止它刷新页面,这样它才能成功发送数据。
HTML
onsubmit="pdferzeugen();return false"
Javascript
var datauri = pdf.output('dataurl');
$.ajax({
url: "./uploads/upload.php",
type: "POST",
data: { pdf: datauri },
success: function(data) {},
});
PHP
$pdf = str_replace('data:application/pdf;base64,', '', $_POST['pdf']);
$pdf_decoded = base64_decode ($pdf);
$pdf = fopen ('Begehungsprotokoll.pdf','w');
fwrite ($pdf,$pdf_decoded);
fclose ($pdf);
onsubmit 中的 return false
将阻止它重新加载页面,现在 pdf 上传到我的服务器。