jQuery验证插件使用ajax发送文件

时间:2013-10-09 19:02:41

标签: php jquery ajax

        submitHandler: function(form) {
            var dataString = $('#YourFormID').serialize();
            $.ajax({
                type: 'POST',
                url: 'yourpage.php',
                data: dataString,
                success:  function() {
                    $('#YourErrorDivID').hide();
                    $('#YourSuccessDivID').html("Your Message").show();
                }
            });
        }

如何通过此代码发送文件?使用此代码我无法发送文件。 什么是数据类型:json,如果我从jQuery文件中获取它,如何在我的php文件中使用它?

编辑:我没有要求代码,我已经尝试使用上面的代码发送文件输入数据,但它不起作用。所以我想知道如何修复这段代码,这样它也会发送文件输入值&常规数据(如textarea等)

1 个答案:

答案 0 :(得分:0)

我只做了一次,所以我不是专家,这让我很困惑,但我想我能回答你。假设你的文件中有这样的东西:

var dataString = {
page_num: page
};

然后可以在yourpage.php上像这样引用它,因为它是通过post发送的:

$requested_page = $_POST['page_num'];

JSON仍然让我困惑,但它是一种存储数据的方式。我相信它通常是一种阵列。 PHP具有函数json_encodejson_decode以允许您使用它。例如,您收到$json,这是json格式的数据,然后您:

$x = json_decode($json,TRUE);
var_dump($x);

这应该使它成为一个关联数组。

更新:

how to send/upload file using jquery or javascript? 根据这个问题,您无法使用jquery上传文件。我认为您也不应该尝试,因为有些人在浏览器上禁用了javascript。我在我的网站上使用jquery进行美学和无限滚动,并且很快就会在js被停用时运行一个分页功能。您的网站至少基本上无需js即可访问。 http://www.youtube.com/watch?v=bfD51iRTAXU&list=PLE134D877783367C7&index=45 如果您不知道这个教程,那么本教程将以html的形式显示文件上传的基础知识(尽管它不是一个很棒的教程,我发现它在我学习时非常有用,并且是一个很好的起点)。

如果您已经使用php,SQL和html上传了一个文件,那么您可以使用它的文件名/文件路径来引用它,如该教程所示。所以你可以通过jquery发送文件名/文件路径,如果你想使用jquery来构建动态内容,只需在另一端使用它。