javascript - 尝试将值从 JS 发送到 PHP - JQuery 的 $.ajax() 方法不起作用

标签 javascript php jquery ajax post

我想在提交 PHP 表单时执行一个 JS 函数,并且我想从该函数返回一个值(基于用户的输入)到 PHP,我想在其中回显它。

这是一个 SSCCE。在真实代码中,不仅仅是回显值,值是一个JSON对象。

以下是我的代码。 问题是 $.ajax(); 部分不工作。 alert(name); 之后浏览器没有任何反应。 为什么这不能正常工作?我该如何解决这个问题?

来自 index.php:

<form id="form">
  Name:
  <input id="name" type="text" />
  <input type="Submit" value="Go" />
</form>

来自 scripts.js:

$(document).ready(function() {

    $("#form").submit(function(event) {
        event.preventDefault();

        var name = $("#name").val();
        alert(name);

        $.ajax({
            type:'POST',
            url:'echo.php',
            data: {
                nameEntered : name
            }
        });

    });

});

echo.php:

<?php  
if (    isset($_POST["nameEntered"]) && !empty($_POST["nameEntered"])    ) {
    echo $_POST["nameEntered"];
} else {
    echo '$_POST["nameEntered"] is not set.';
}
?>

编辑:

控制台:

enter image description here

网络:

enter image description here


编辑 2:

将以下内容添加到 $.ajax():

,
success: function(){
    alert("success");
},
error : function(){ 
    alert("error");
}

我收到一条提示说成功,但浏览器从不指向 echo.php =s


编辑 3:

在提示说成功 之后,一个? 被添加到浏览器的URL 中。最初的 URL 是 http://localhost/Test12/index.php,后来变成了 http://localhost/Test12/index.php?

最佳答案

这种方式应该显示响应。

JavaScript

$("#form").submit(function(event) {
    event.preventDefault();

    var name = $("#name").val();
    //alert(name);

    $.ajax({
        type:'POST',
        url:'http://localhost/Test12/echo.php',
        data: {
            nameEntered : name
        },
        success : function(data){
            console.log(JSON.parse(data));
        },
        error : function(error){
            console.log('erro', error);
        }
    });

});

PHP

<?php  

if (isset($_POST["nameEntered"]) && !empty($_POST["nameEntered"])) {
    $name = array("nome" => $_POST["nameEntered"]);
    echo json_encode($name);
} else {
    echo '$_POST["nameEntered"] is not set.';
}
?>

关于javascript - 尝试将值从 JS 发送到 PHP - JQuery 的 $.ajax() 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078777/

相关文章:

javascript - 在 JavaScript 中简洁构建 SVG 节点

javascript - 错误的 chart.js 点在悬停时突出显示

php - 在 PHPSpreadsheet 中垂直和水平居中文本

php - Facebook OAuth - 获取电子邮件地址

jQuery:如何在显示元素的同时使用高亮效果?

javascript - 如何在同一表单中的 strip 卡验证之前部分验证表单字段

javascript - 可以在不使用 iframe 的情况下更改 div 的 location.href 吗?

javascript - 在 javascript 中每 3 行插入换行符?

javascript - 单击切换选定的 div 的类并更改未选定的 div 的类

php - Amazon SQS 在 php 中发送消息属性