提交表单时,Post方法的行为类似于get方法

时间:2015-06-18 05:11:26

标签: php jquery mysql

//db connect
    $server     = 'localhost';
    $username   = 'root';
    $password   = '';
    $database   = 'resort';
    $connect    = mysqli_connect($server, $username, $password ) or die(mysqli_error.'error connecting to db');
//select database
    mysqli_select_db ($database, $connect) or die(mysqli_error.'error selecting db');/*Jquery Function*/<script>
                    $(function(){
    //CONTACT FORM AJAX SUBMIT
    $('#contactForm').submit(function(){
          $.ajax({
        url:'mailer.php',
        type : 'POST',
        dataType: 'json',
        data: $(this).serialize(),
           success: function(data){
         if(data.error){
            $('#error').css('display','block');
        }else {
            $('#note').show();
            $('#error').hide();
            $(".contact-form").hide();
        }
    }
   });
   return false;
 });
});
                    </script>

Database Connectivity Contact Form
    问题是,当我试图点击提交时,网页刷新并且内容显示在网址中。错误不会发生,因此无法找出问题所在。我正在尝试构建一个可以发送邮件的联系表单。所以你也会得到一些与之相关的代码。主要的问题是为什么页面每次刷新以及为什么没有任何错误,如果数据库连接与否,为插入数据而编写的查询是否正确,变量是正确宣布与否。

2 个答案:

答案 0 :(得分:1)

如果您的图片格式正确,请使用Convert.ToBase64String Method (Byte[])方法将它们转换为base64字符串并将此base64字符串发回。

您可以在其中使用img标记的src属性中的字符串来显示图像。这将是

<img src=”data:<MIMETYPE>;base64,<BASE64_ENCODED_IMAGE>”>

答案 1 :(得分:1)

你可以做什么而不是我的第一个答案,这是我更喜欢的方式。不是在响应中发送varbinary / base64而是省略该字段。发送回您的其他响应字段与id。
制作一个单独的操作方法,该方法将获取Id并将图像发回给您。可以使用FileActionResult重载中的一个以二进制格式发送图像nw。

- 优势
 1.现在web api将返回更小的响应,因此会更快  2.由于图像是单独加载的。你可以优雅地展示装载机,直到它们无法装载。