加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AJAX – 将数据发送到我的php文件似乎不起作用

发布时间:2020-12-15 22:55:39 所属栏目:百科 来源:网络整理
导读:参见英文答案 jQuery Ajax POST example with PHP11个 我还是JQuery,AJAX和PHP的新手. 我想知道我在这里做错了什么.我正在接收有关客户的信息并尝试在同一页面上返回确认消息. 所以我遇到的问题: 1)点击提交按钮刷新我的页面?为什么? 2)我的提交按钮下方.
参见英文答案 > jQuery Ajax POST example with PHP11个
我还是JQuery,AJAX和PHP的新手.

我想知道我在这里做错了什么.我正在接收有关客户的信息并尝试在同一页面上返回确认消息.

所以我遇到的问题:
1)点击提交按钮刷新我的页面?为什么?

2)我的提交按钮下方.如何使用addCustomer.php的结果更改其文本?

3)将我的javascript和php代码放在customer.php下的同一个文件中是否可以?

编辑:我也使用Firefox的防篡改数据插件 – 当我点击提交时,由于某种原因没有发送数据.

Customer.php

<script type="text/javascript">

$(document).ready(function(){
    $('#submit').click(function() {
        $.ajax({
            type : 'POST',url : 'addCustomer.php',dataType : 'json',data:{
                add_LN : $('#add_LN').val(),add_FN : $('#add_FN').val(),add_PN : $('#add_PN').val(),add_DOB : $('#add_DOB').val()
            },success : function(data){
                //I want to change the "confirmMsg" to the string given back from addCustomer.php
            }
        }
    }
}

</script>

<p>&nbsp;</p>
<p>Add New Customer:</p>
<div align="center">
<form>
  <table width="396" border="1">
    <tr>
      <td width="133"><p>Last Name:</p>
      <p>First Name:</p>
      <p>Phone Number:</p>
      <p>Date of Birth:</p></td>
      <td width="144"><p>
        <input type="text" name="add_LN" id="add_LN" />
        </p>
      <p>
        <input type="text" name="add_FN" id="add_FN" />
        </p>
      <p>
        <input type="text" name="add_PN" id="add_PN" />
        </p>
      <p>
        <input type="text" name="add_DOB" id="add_DOB" />
      </p>        </td>
      <td width="97"><input type="submit" name="submit" id="submit" value="Add Customer" /></td>
      <div id="confirmMsg"/>
        </tr>
      </table>
    </form>
  </div>
<p>&nbsp;</p>
</div>
</div>

addCustomer.php

<?php
$username="******";
$password="******";
$database="******";

if (isset ($_POST['add_LN']))
    $lastName=$_POST['add_LN'];
else
    die("Last Name not passed in POST");

if (isset ($_POST['add_FN']))
    $firstName=$_POST['add_FN'];
else
    die ("First Name not passed in POST");

if (isset ( $_POST['add_PN']))
    $phone=$_POST['add_PN'];
else
    die("Phone Number not passed in POST");

if (isset ($_POST['add_DOB']))
    $dob=$_POST['add_DOB'];
else
    die("Date of Birth not passed in Post");

//$membership==$_POST['membership'];

mysql_connect("dbs4.cpsc.u.ca",$username,$password);

@mysql_select_db($database) or die( "Unable to select database");


$query = "INSERT INTO customer (last_name,first_name,phone_no,date_of_birth,membership) VALUES ('$lastName','$firstName','$phone','$dob','T')";

if (mysql_query($query)){
    echo "Thanks";
} else 
{
    echo "Failed to insert customer into database";
}

mysql_close();
?>

非常感谢你的帮助!

解决方法

好的,按顺序回答你的问题:

>您应该能够在Console选项卡中检查Firebug(您正在使用Firebug,对吗?),以查看addCustomer.php是您的Ajax请求调用的端点.如果做不到这一点,您可以将以下代码添加到脚本中:

$('#confirmMsg').ajaxComplete(function(e,xhr,settings) {
    $(this).text('The response from your page is ' + xhr.responseHTML);
});

>我假设你的问题是“我的提交按钮下面有一个div ……”.尝试以下命令(这是完整Ajax方法的缩短版本):

$.post('addCustomer.php',{
    add_LN : $('#add_LN').val(),add_DOB : $('#add_DOB').val()
},function(data){
    $('#confirmMsg').text(data);
});

>最后,是的 – 可以将您的脚本和PHP代码放在同一页面上. PHP代码在呈现给浏览器之前在服务器上执行,JavaScript在客户端工作,一旦页面交付就执行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读