Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将json API响应发送到PHP文件_Php_Jquery_Ajax_Json - Fatal编程技术网

将json API响应发送到PHP文件

将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

我正在尝试上传一张图片到uploads.im,然后它会发回它的URL和其他信息。ajax向api发布成功,但我无法将响应发布到另一个文件saveImgURL.php,该文件将从发送的“data”变量获取URL并将其保存到数据库中

HTML:

jQuery:

$( "#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 } );