将json API响应发送到PHP文件
我正在尝试上传一张图片到uploads.im,然后它会发回它的URL和其他信息。ajax向api发布成功,但我无法将响应发布到另一个文件saveImgURL.php,该文件将从发送的“data”变量获取URL并将其保存到数据库中 HTML: jQuery:将json API响应发送到PHP文件,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我正在尝试上传一张图片到uploads.im,然后它会发回它的URL和其他信息。ajax向api发布成功,但我无法将响应发布到另一个文件saveImgURL.php,该文件将从发送的“data”变量获取URL并将其保存到数据库中 HTML: jQuery: $( "#postfile" ).submit(function( event ) { var data1; var formObj = $(this); var formURL = formObj.attr("ac
$( "#postfile" ).submit(function( event ) {
var data1;
var formObj = $(this);
var formURL = formObj.attr("action");
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
mimeType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
success: function(data, textStatus, jqXHR)
{
//document.write(data); // displays the correct API response in current doc
$.post( "saveImgURL.php", { 'data': data } ); //DOES NOT WORK
},
error: function(jqXHR, textStatus, errorThrown)
{
}
})
event.preventDefault();
});
您得到的响应是一个JSON字符串 在这个过程中,很可能有时需要将返回的数据解析为JSON对象,具体取决于PHP脚本saveImgURL.PHP处理数据的方式 在发送之前对其进行分析:
var json = JSON.parse(data);
$.post( "saveImgURL.php", { 'data': json } );
或者保持原样,但请注意您正在发送一个字符串,并使用以下命令在PHP脚本中对其进行解析:
$json_data=json_decode$_POST['data',true
当然,我假设“saveImgURL.php”与原始文件位于同一文件夹中,否则$.post显然会失败
此外-字符串本身似乎在开头和结尾包含3个无效字符,这将导致解析它时出现问题-和“;”;您可以使用第三方网站来验证响应
希望这有帮助 saveImgURL.php希望如何接收数据?
$( "#postfile" ).submit(function( event ) {
var data1;
var formObj = $(this);
var formURL = formObj.attr("action");
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
mimeType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
success: function(data, textStatus, jqXHR)
{
//document.write(data); // displays the correct API response in current doc
$.post( "saveImgURL.php", { 'data': data } ); //DOES NOT WORK
},
error: function(jqXHR, textStatus, errorThrown)
{
}
})
event.preventDefault();
});
var json = JSON.parse(data);
$.post( "saveImgURL.php", { 'data': json } );