使用ajax javascript提交表单数据

使用ajax javascript提交表单数据,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我很难让ajax/javascript设置能够将数据异步发送到PHP脚本进行处理。我将把PHP部分留在这里,因为我还不能启动javascript,一旦我能让它工作起来,我会很高兴地亲自攻击PHP 我有下面我的。。。nailthumb和colorbox的东西不是这个场景的一部分,它们做其他的事情,我应该注意到它们工作得很好。它是.ajax,就像它开始发挥作用一样,什么都不执行。我曾尝试添加一个alert()来进行故障排除,但它从未触发:(其目的是当按下具有onclick()的链接时,奇迹发生了 有

我很难让ajax/javascript设置能够将数据异步发送到PHP脚本进行处理。我将把PHP部分留在这里,因为我还不能启动javascript,一旦我能让它工作起来,我会很高兴地亲自攻击PHP

我有下面我的。。。nailthumb和colorbox的东西不是这个场景的一部分,它们做其他的事情,我应该注意到它们工作得很好。它是.ajax,就像它开始发挥作用一样,什么都不执行。我曾尝试添加一个alert()来进行故障排除,但它从未触发:(其目的是当按下具有onclick()的链接时,奇迹发生了

有人能发现javascript没有启动的原因吗

<script type="text/javascript">

            jQuery(document).ready(function() {
                jQuery('.nailthumb-container').nailthumb({width:300,height:140,titleWhen:'load',fitDirection:'center center'});
                $('a.btn-screenshot').colorbox({
                    rel: 'nofollow'
                    });
                $('a.image').colorbox({
                    rel: 'colorbox-group',
                    maxWidth: '75%',
                    scalePhotos: true,
                    titleScrolling: true
                    });

                $(".ajax-like").submit(function(){
                    alert("Initial part going...");
                    var data = {
                      "action": "like"
                      };
                    data = $(this).serialize() + "&" + $.param(data);
                    $.ajax({
                      type: "POST",
                      dataType: "json",
                      url: "galleryajax.php", //Relative or absolute path to response.php file
                      data: data,
                      success: function(data) {
                        alert("Form submitted successfully.\nReturned json: " + data["json"]);
                      }
                      });
                    return false;
                    });
            });
</script>

jQuery(文档).ready(函数(){
jQuery('.nailthumb容器').nailthumb({宽度:300,高度:140,标题when:'load',fitDirection:'center'});
$('a.btn-screenshot')。颜色框({
rel:‘不跟’
});
$('a.image').colorbox({
rel:'色盒组',
maxWidth:'75%',
是的,
标题:对
});
$(“.ajax-like”).submit(函数(){
警报(“初始部件运行…”);
风险值数据={
“动作”:“喜欢”
};
data=$(this.serialize()+“&”+$.param(data);
$.ajax({
类型:“POST”,
数据类型:“json”,
url:“galleryajax.php”,//response.php文件的相对或绝对路径
数据:数据,
成功:功能(数据){
警报(“表单已成功提交。\n返回的json:+data[“json”]);
}
});
返回false;
});
});
这是HTML本身中的表单

<span class="thumb-comment">
            <form class="ajax-like" method="post" accept-charset="utf-8">
              <input type="hidden" name="mcname" value="'.$row['MCName'].'" placeholder="Favorite restaurant" />
              <input type="hidden" name="galleryid" value="'.$row['GalleryID'].'" placeholder="Favorite beverage" />
                <a onclick="form.submit();">
                <i class="fa fa-heart"></i>

                0</a>
                </form>
            </span>

0
这实际上是在表单上等待提交事件。类似于ajax

首先,删除此
标记

要启动此事件,您需要提交输入之类的内容

<input type="submit" />

如果您需要按照示例中的方式设置输入样式,您可以选择使用
0
而不是输入。

在表单中添加
,而不是“a”标记,以便执行“submit”的事件处理程序。您可以使用按钮包含图标:

<form class="ajax-like" method="post" accept-charset="utf-8">
  <input type="hidden" name="mcname" value="'.$row['MCName'].'" placeholder="Favorite restaurant" />
  <input type="hidden" name="galleryid" value="'.$row['GalleryID'].'" placeholder="Favorite beverage" />
  <button type='submit'>
     <i class="fa fa-heart"></i>
     0
  </button>
</form>

0

在表单中添加一个
input type='submit'
,而不是'a'标记,以便执行'submit'的事件处理程序。或者您也可以使用一个按钮来包含正确的图标?如果是这样,我将把它放在应答表单中,这样您就可以接受它。基本问题是
form.submit()
不起作用,因为变量
表单
未设置——您应该在Javascript控制台中从中得到一个错误。Todd是的。请确认它是否起作用。我很感激您能够找到解决方案,并发布问题,而不是像其他人一样毫无建设性地抱怨。
<form class="ajax-like" method="post" accept-charset="utf-8">
  <input type="hidden" name="mcname" value="'.$row['MCName'].'" placeholder="Favorite restaurant" />
  <input type="hidden" name="galleryid" value="'.$row['GalleryID'].'" placeholder="Favorite beverage" />
  <button type='submit'>
     <i class="fa fa-heart"></i>
     0
  </button>
</form>