javascript - 使用 JSON 将表单变量传递给 php

标签 javascript php jquery json forms

我正在使用以下代码,我需要从 php 访问表单文本框的输入值。表单不是通过表单标签直接提交给服务器的。该按钮正在调用 JS 函数。我需要从 php 代码访问名为 stName 的输入文本框。我如何将此信息传递给 php 并从那里访问它?谢谢。

<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="jquery.mobile-1.4.4.min.css">

<script src="jquery-1.11.1.min.js"></script>
<script src="jquery.mobile-1.4.4.min.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script charset="utf-8" type="text/javascript">
function connect()
{   
    $.ajax({
        url:'hostname/reply.php',
        headers:{"Content-Type": "application/json"},
        type:'POST',
        data:$(this),
        dataType:'JSON',
        error:function(jqXHR,text_status,strError){
            alert(strError);},
        timeout:60000,
        success:function(data){
            $("#result").html("");
                for(var i in data){
                $("#result").append("<li>"+data[i]+"</li>");                    
                }
            }
        });     
} 
</script>
</head>
<body>
<center><b>My Students</b></center>
<center>
<form method="POST">
<input type="text" value="John" name ="stName" />
<input onclick="connect()" type="button" value="showStudents" />
</form>
</center>
<center><b>Results</b></center>
<ul data-role="listview" id="result"></ul>
</body>
</html>

最佳答案

序列化表单数据..

将你的连接函数改成这个

function connect()
{   
    $.ajax({
        url:'hostname/reply.php',
        headers:{"Content-Type": "application/json"},
        type:'POST',
        data:$('form').serializeArray(),
        dataType:'JSON',
        error:function(jqXHR,text_status,strError){
            alert(strError);},
        timeout:60000,
        success:function(data){
            $("#result").html("");
                for(var i in data){
                $("#result").append("<li>"+data[i]+"</li>");                    
                }
            }
        });     
}

或者您可以像这样压缩您的代码..

function connect()
{   
    $.post('hostname/reply.php', $('form').serialize(), function(data){
         $("#result").html("");
                for(var i in data){
                $("#result").append("<li>"+data[i]+"</li>");                    
                }
            }
    });
} 

关于javascript - 使用 JSON 将表单变量传递给 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26312375/

相关文章:

php - 提交按钮影响多个文件

php - 在显示屏顶部显示特色产品

javascript - 如何防止 jQuery smartWizard 在按下回车键时进入下一步?

javascript - 如何使用 js 或 jquery 调整非子图像的大小?

javascript - 字符串行中最快的搜索

javascript - RubyMine 代码重新格式化不尊重 ESLint 配置

javascript - 每次加载页面时加载不同的 js 文件

javascript - 附加对象等于数组中每个元素的总和

php - 我想在 sql 中选择客户和日期过滤器

javascript - 不允许使用自托管 WCF REST 服务 JSON POST 方法