开发者问题收集

ajax php java 脚本集成不起作用

2017-06-24
73

我有一个 html 页面,通过该页面我通过 ajax 将数据发送到 PHP,但代码不起作用。 HTML

<form name='tip' method='post' action=''>
        Tip somebody: <input name="tip_email" id=tip_email type="text" size="30"  />
        <input type="submit"   value="Skicka Tips" />
        <input type="hidden" id="ad_id" name="ad_id" />
</form>
<script>
        $('#submit').click(function() {
                event.preventDefault();
                $.ajax({
                        url: insertdata.php,
                        type: 'POST',
                        data: {
                                tip_email: $('#tip_email'),
                                ad_id: $('#ad_id')
                        },
                        success: function(res) {
                                if (res == 'successful') {
                                        alert("successful");
                                } else {
                                        alert("failed");
                                }
                        },
                        error: function() {
                                $('#status').html('Failed').slideDown();
                        }
                });
        });
</script>

PHP

<?php
echo "successful"
?>

我尝试了 stackoverflow 上的各种可用选项,但都不起作用。

在此处输入图片说明

Uncaught ReferenceError: $ is not defined

$('#submit').click(function() 

仍然不起作用 但是,当我将上述脚本包含在代码中时,它会进入无限循环并抛出错误“Uncaught RangeError:超出最大调用堆栈大小” 我在现有代码中做了三处更改。 1) 添加脚本源 我也尝试添加其他类似的脚本,但都显示相同的错误 这意味着代码本身存在一些问题。 2) 将事件添加到语句 $('#submit').click(function(event) 3) 将 php 放在单引号中 url: 'insertdata.php'。

3个回答

请更正代码为

1.) add script to below your form close - <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

2.) add id in submit button - <input type="submit" id="submit"  value="Skicka Tips" />
Niraj patel
2017-06-24

在启动脚本之前,请先添加 jquery。它未加载,这就是为什么出现 $ 未定义错误的原因。

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

并且您没有在此处传递事件对象

$('#submit').click(function() {})

将其添加到您的代码中

$('#submit').click(function(event) {});

或者从输入按钮中删除提交类型

<input type="button" value="Skicka Tips" />
RAUSHAN KUMAR
2017-06-24

首先,您的

$('#submit').click(function(){})

中没有传递 event ,您必须将其更改为

$('#submit').click(function(event) {}) 

才能正常工作。

其次,您的

<input type="submit"   value="Skicka Tips" />

没有 id ,因此 jQuery 无法使用 # 标识符找到它。

您必须将其更改为

<input type="submit" id="submit"  value="Skicka Tips" />

或将 onsubmit 事件与表单结合使用。

Luca Kiebel
2017-06-24