使用AJAX提交表单无效

时间:2014-03-10 21:36:22

标签: javascript ajax

我正在尝试使用ajax将表单提交到另一个页面,但它不发送帖子。

页面顶部的Javascript。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function(){
$(".button").click(function(){
    event.preventDefault();
    var name = $("#name").val();
    var dataVar = "name=" + name;
    $.ajax({
        type: "POST",
        url: "https://www.example.ee/index.php?e=area_sa&date=2010",
        data: dataVar,
        success: function() {
            alert("works");
        }
    });
  });
});
<script>

和HTML代码:

<form>
    <input type="text" name="name" id="name">
    <input type="submit" name="submit" class="button" value="Add">
</form>

2 个答案:

答案 0 :(得分:1)

它无效,因为您正在尝试制作跨域AJAX请求。

如果您拥有域 mywebsite.com ,则所有AJAX请求都应限于此域,例如mywebsite.com/example/ajax/request。

您尝试做的事情(跨域请求)是可能的,但涉及的解决方法有点复杂,并且使用了不同的库调用。

答案 1 :(得分:1)

您的点击事件似乎未绑定到.button,

在加载html元素之前绑定事件时会发生这种情况

几个解决方案:

1)将JavaScript代码封装在一个on-load事件

2)将JavaScript放在页面底部

3)使用$(body).on('click','.button',function(){/ *你的代码在这里* /})

也看起来像是发布到外部域名, 如果您是所有者,请确保添加CORS策略。