Javascript 没有库的等效代码

Javascript 没有库的等效代码,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,我使用教程获得了以下ajax代码。在本教程中,他们拥有库。代码如下: function onsuccess(response,status){ $("#onsuccessmsg").html(response); alert(response); } $("#uploadform").on('change',function(){ var options={ url : $(this).attr("action"),

我使用教程获得了以下ajax代码。在本教程中,他们拥有库。代码如下:

function onsuccess(response,status){
    $("#onsuccessmsg").html(response);
        alert(response);
    }
    $("#uploadform").on('change',function(){
        var options={
        url     : $(this).attr("action"),
        success : onsuccess
    };
    $(this).ajaxSubmit(options);
        return false;
});
如果我不想实施怎么办。使用普通ajax(没有库)的等效代码是什么

更新

我尝试了以下代码:

$("#uploadform").on('change',function(){
                $.ajax({
                    url: $(this).attr("action"),
                    context: document.body,
                    success: function(){
                        $("#onsuccessmsg").html(response);
                        alert("asdf");
                    }
                });
                return false;
            });

现在它什么也不做了。

它更像是:(为格式问题道歉,我在手机上)

您需要通过运行表单字段手动构建数据变量。您可能还想签出,这是写上述内容的一种简写方式


您可以使用前面回答的问题获取需要传递到ajax数据字段的表单数据:

还值得注意的是,如果您要发布表单中的文件,则表单必须具有
enctype=“multipart/form data”
。 使用ajax提交表单时,需要设置
contentType:false,processData:false

我已经更新了上面的代码片段以反映这一点


如果这已经回答了您的问题,请将其标记为正确答案。

jquery.form.js库非常有用。我建议您一开始就使用它,因为您以后可能会在项目中使用它。谢谢,但现在,我不想使用它。您知道等效的ajax代码吗?非常感谢!我在这个问题中使用的是php文件:如何填写“数据”?这是另外一个问题,您需要单独发布。如果此解决方案适用于异步发布表单,请接受答案。谢谢,好的。非常感谢。还有一个问题。在我在问题中发布的代码中,
onsuccess函数
,有两个参数<代码>成功时的功能(响应、状态){…我如何获得这些?有3个:Anything data,String textStatus,jqXHR jqXHR。您只需在success函数中放置3个变量名。它们可以命名为Anything。它们将自动为您填充,并可在success函数的范围内使用。上传图像时不会发生任何情况。(我删除了“data”)因为我不知道该在里面插入什么。)
            $("#uploadform").on('submit',function(e){
                e. preventDefault() ;
                var formData = new FormData($(this)[0]);

                $.ajax({
                    url: $(this).attr("action"),
                    context: document.body,
                    data: formData, 
                    type: "POST",  
                    contentType: false,
                    processData: false,
                    success: function(response, status, jqxhr){
                        $("#onsuccessmsg").html(response);
                        alert("asdf");
                    }
                });
                return false;
            });