Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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
Javascript 如何在一个函数中组合两个ajax函数?_Javascript_Ajax - Fatal编程技术网

Javascript 如何在一个函数中组合两个ajax函数?

Javascript 如何在一个函数中组合两个ajax函数?,javascript,ajax,Javascript,Ajax,我有一个可以发布名称的ajax代码,还有一个可以发布图像的ajax,我需要将这两个函数结合起来,以便有一个可以发布名称和图像的函数 下面是用于发布图像的代码 <script> $(document).ready(function(){ $("#but_upload").click(function(){ var fd = new FormData(); var files = $('#file')[0].files;

我有一个可以发布名称的ajax代码,还有一个可以发布图像的ajax,我需要将这两个函数结合起来,以便有一个可以发布名称和图像的函数

下面是用于发布图像的代码

<script>
$(document).ready(function(){

    $("#but_upload").click(function(){

        var fd = new FormData();
        var files = $('#file')[0].files;
        
        // Check file selected or not
        if(files.length > 0 ){
           fd.append('file',files[0]);

           $.ajax({
              url: 'upload.php',
              type: 'post',
              data: fd,
              contentType: false,
              processData: false,
              success: function(response){
                 if(response != 0){
                    $("#img").attr("src",response); 
                    $(".preview img").show(); // Display image element
                 }else{
                    alert('file not uploaded');
                 }
              },
           });
        }else{
           alert("Please select a file.");
        }
    });
});
</script>

$(文档).ready(函数(){
$(“#但#上传”)。单击(函数(){
var fd=新FormData();
var files=$('#file')[0]。文件;
//检查是否选择了文件
如果(files.length>0){
fd.append('file',files[0]);
$.ajax({
url:'upload.php',
键入:“post”,
数据:fd,
contentType:false,
processData:false,
成功:功能(响应){
如果(响应!=0){
$(“img”).attr(“src”,响应);
$(“.preview img”).show();//显示图像元素
}否则{
警报(“文件未上载”);
}
},
});
}否则{
警报(“请选择一个文件”);
}
});
});
下面是用于张贴姓名的代码

<script type="text/javascript">
function clickButton(){
var name=document.getElementById('name').value;
$.ajax({
        type:"post",
        url:"upload.php",
        data: 
        {  
           'name' :name
        },
        cache:false,
        success: function (html) 
        {
           alert('Data Send');
           $('#msg').html(html);
        }
        });
        return false;
 }
</script>

函数clickButton(){
var name=document.getElementById('name')。值;
$.ajax({
类型:“post”,
url:“upload.php”,
数据:
{  
“名称”:名称
},
cache:false,
成功:函数(html)
{
警报(“数据发送”);
$('#msg').html(html);
}
});
返回false;
}
我如何组合上面的代码以便只使用一个url“upload.php”,这意味着upload.php将在数据库中插入名称并在文件夹中保存图像,同时单击“保存”按钮,这就是我需要组合代码的原因


请任何人都能帮我

你真的把它们结合起来

您可以使用第一个函数并执行以下操作:

var fd = new FormData();
var files = $('#file')[0].files;
fd.append('name', $("#name").val();
就是这样。在另一端(后端),您只需输入以下名称:

$name = $_POST['name'];

只需将名称附加到表单数据,即
fd.append('name',document.getElementById('name').value)这很好用。非常感谢你。但如何在提交后重置文件名的文本框和文件的浏览按钮?所有操作都已完成!你节省了我的时间,非常感谢大家