当前位置: 首页 > 知识库问答 >
问题:

如何发送附加文件到服务器端与Ajax在Worldpress环境[复制]

章侯林
2023-03-14

我使用以下Ajax方法将请求的数据(发送邮件)发送到服务器端。我还必须发送2个附加文件到服务器端。有人能帮我怎么做吗?我需要在这个文件中进行上传,我没有任何其他服务器端的php脚本,只是在同一个文件中使用一些函数来处理数据。此环境仅在wordlfpress中,而不只是平面ajax。另一个话题没有回答这个问题。

代码片段:

            jQuery('#carrieremailsend').click(function(){
                var career_id = jQuery('#carrierid').val();
                var careertittle = jQuery('#carriertittle').val();
                var name = jQuery('#name').val();
                var email = jQuery('#mail').val();
                var message = jQuery('#message').val(); 

                var data = {
                action: 'send_carrier_email',
                career: career_id,
                name: name,
                email: email,
                message: message
                }

有人能帮我怎么做吗?非常感谢。

我要找的答案如下:

var fd = new FormData();
var cv = jQuery(document).find('#cv');
var lm = jQuery(document).find('#lm');

var individual_file = cv[0].files[0];
var lm_file = lm[0].files[0];
fd.append("career",career_id);
fd.append("name",name);
fd.append("email",email);
fd.append("message",message);
fd.append("cv", individual_file);
fd.append("lm", lm_file);
fd.append('action', 'fiu_upload_file');

此代码还将其他数据发布到服务器端。如果要在服务器上存储这些附加文件,还必须在服务器端实现以下INF PHP代码(这是两个单独的文件):

move_uploaded_file($_FILES["cv"]["tmp_name"],WP_CONTENT_DIR .'/uploads/CV/'.basename($_FILES['cv']['name']));
move_uploaded_file($_FILES["lm"]["tmp_name"],WP_CONTENT_DIR .'/uploads/lm/'.basename($_FILES['lm']['name']));

共有1个答案

邢博文
2023-03-14

像这样做吗

$(document).ready(function (e) {
    $('#your_form_id').on('submit', (function (e) {
        e.preventDefault();
        $.ajax({
            url: 'send_carrier_email',
            type: 'POST',
            data: new FormData(this),
            contentType: false,
            cache: false,
            processData: false,
            dataType: 'json',
            success: function (data)
            {    
                if(data.isSuccess){
                  alert("data submitted.");
                }

            }
        });
    }));
});

在服务器端时

print_r($_POST);
print_r($_FILES);
// do your code here 
// .
// .
echo json_encode(array('isSuccess'=>True));
die;
 类似资料:
  • 我正在尝试使用请求发送带有Mailgun API的附加文件的电子邮件。邮递 在他们的文档中,他们提醒您在发送附件时必须使用多部分/表单数据编码,我正在尝试以下方法: 我已经定义了头,以确保内容类型是multipart/formdata,但是当我运行代码时,我得到一个400状态,原因是:请求错误 发生了什么?我需要确保我使用的是多部分/表单数据,并且正确使用了附件参数

  • 问题内容: 我具有以下复合组件( ) 在下面的片段中,我想使用以下方式向该组件添加一个 事件: 当我调用Testpage时,出现以下错误: 我该如何解决这个问题? Ajax-Event应该触发UI-Bean-Methode。 谢谢罗纳德 问题答案: 您需要将其注册为Composite界面中的客户端行为。 :您将在Composite的客户端中指定的自定义事件名称。可以与实际事件名称相同。可以定做的。

  • 问题内容: 由于我是Web服务的新手,请您告诉我问题的答案。我的问题是 我想实现一个Web服务,当客户端调用此Web服务时,该服务会向客户端发送pdf文件。 请有人帮我提供一段不错的代码或解释。 现在可以请一个人解决我的错误。 12-23 09:42:48.429:调试/安装(32):DexInv:-开始’/data/app/vmdl33143.tmp’— 12-23 09:42:51.708:调

  • 如果我正确理解了服务器发送事件的原则,那么每次客户端注册到EventSource时,它实际上会打开一个到管理事件的资源的新HTTP连接。与其他HTTP请求相反,连接保持活动状态,因此专用于此客户端的服务器进程/线程将一直运行,直到客户端断开连接。 如果我们有1000个客户端使用SSE连接到一个应用程序,该怎么办?我们是否会有1000个进程/线程(做同样的事情)并发运行以处理SSE?我想我错了,但如

  • 问题内容: 似乎有两种方法可以将数据发送到服务器。一种是用于获取像素数组及其8位颜色值。另一种方法是用于发送文件附件。此方法在此处演示。 我想建立一个人们可以保存其画布图纸的站点。哪种方法对我的用户而言更具可扩展性和更快性? 问题答案: 打开选项:使用fabric.js,您可以将fabric.js画布序列化为JSON。 它不仅提供了附加的编辑功能层,而且还允许您执行以下操作(更不用说以后可以编辑其

  • 我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s