Javascript 如何使用AJAX将HTML变量上载到PHP文件

Javascript 如何使用AJAX将HTML变量上载到PHP文件,javascript,php,html,ajax,Javascript,Php,Html,Ajax,在我的网站上,我试图基本上生成一个随机代码(稍后我会设置),然后将该代码传递到PHP文件中,以便在客户端需要时检索它。但我的代码就是不起作用 代码如下: Javascript/HTML: function init() { var code = "12345"; $.ajax({ type: 'POST', url: 'codes.php', data: { code: code},

在我的网站上,我试图基本上生成一个随机代码(稍后我会设置),然后将该代码传递到PHP文件中,以便在客户端需要时检索它。但我的代码就是不起作用

代码如下:

Javascript/HTML:

function init() {    
    var code = "12345";
        $.ajax({
            type: 'POST',
            url: 'codes.php',
            data: { code: code},
            success: function(response) {
                $('#result').html(response);
            }
        });
    }
PHP:



因此,我理解应该发生的是,代码被上传或“发布”到php文件,然后#结果是echo$代码。所有这些都没有发生,我也不知道。

我在我的文档开头的服务器上尝试了这一点,结果成功了:) 我用的是完成而不是成功

<script type="text/javascript" src="https://code.jquery.com/jquery.min.js"></script>
<script>
function init() {    
    $.ajax({
        type: "POST",
        url: "codes.php",
        data: {  
                'code': '12345'
            },

        complete: function(data){
            document.getElementById("result").innerHTML = data.responseText
        },
    });
}
init();
</script>

函数init(){
$.ajax({
类型:“POST”,
url:“codes.php”,
数据:{
“代码”:“12345”
},
完成:功能(数据){
document.getElementById(“结果”).innerHTML=data.responseText
},
});
}
init();

使用codes.php与您的相同:)

您的代码在进行一些基本更改后工作得非常完美。 您需要一个id为“result”的html元素。 然后需要根据需要调用init()

<div id="result"></div>
<script>
function init() {    
    var code = "12345";
        $.ajax({
            type: 'POST',
            url: 'codes.php',
            data: { code: code},
            success: function(response) {
                $('#result').html(response);
            }
        });
    }
init();
</script>

函数init(){
var code=“12345”;
$.ajax({
键入:“POST”,
url:'code.php',
数据:{code:code},
成功:功能(响应){
$('#result').html(响应);
}
});
}
init();
请注意以下几点:

  • 确保将url指向正确的文件。您可以使用控制台网络进行检查。或者,您可以简单地打印任何内容,而不仅仅是$\u POST数据。e、 g:

    echo 'Test info';
    
  • 打开“浏览器开发人员”面板,查看是否存在任何客户端代码问题。例如,存在id为“result”的文档,或者您尚未将jquery包含在其中。开发人员控制台将告诉您客户端的一切。对于Chrome,请查看此处

  • 你真的调用过init()吗


  • 您是否在javascript中的任何位置调用
    init()
    函数?您已经声明了它,但需要调用它才能运行。另外,在html代码末尾调用的
    echo$code
    yes后面缺少分号。我没有包括它,因为它只是有不必要的代码。我假设您在php处理程序中使用了php json_decode()?您可能希望显示这一点,以便他知道如何解码数据,并对响应进行编码,因为本例中的数据类型是json(javascript对象表示法)Nope,在他的示例中,他只是发送了一个字符串,数据类型不会影响该字符串。不管怎么说,这是我复制的ajax,但如果它让你感觉更好,我就把它拿出来。我只是觉得困惑越少,答案就越好,特别是当用户对他们正在研究的主题不熟悉时。
    echo 'Test info';