Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在同一页面onclick中使用AJAX将字符串定义为POST请求_Php_Ajax - Fatal编程技术网

Php 在同一页面onclick中使用AJAX将字符串定义为POST请求

Php 在同一页面onclick中使用AJAX将字符串定义为POST请求,php,ajax,Php,Ajax,因为PHP只是简单的检查: 都在同一个名为** page.php 那么对于我的HTML: <h1 id='XYZ'>CLICK ME</h1> 而请求不起作用,我如何传递$\u POST数据?我删除了success函数,因为我不认为它在这种情况下有用 我想要的是,当我点击时,会出现回音。试试这个: var my_string = 'xyz'; $.ajax({ url: 'ajax.php', type: 'post', data: { "act

因为PHP只是简单的检查:

都在同一个名为**

page.php 那么对于我的HTML:

<h1 id='XYZ'>CLICK ME</h1>
而请求不起作用,我如何传递
$\u POST
数据?我删除了
success
函数,因为我不认为它在这种情况下有用

我想要的是,当我点击
时,会出现
回音。

试试这个:

var my_string = 'xyz';
$.ajax({
    url: 'ajax.php',
    type: 'post',
    data: { "action":my_string},
    dataType: "json",
    success: function(response) {
        if(response['state'] == 'ok'){
            console.log("ok");
        }
    }
});
ajax.php

<?php echo $_POST['action']; ?>


var my_string='xyz';
$.ajax({
方法:“POST”,
url:“./giveposts”,
数据类型:“文本”,
contentType:“应用程序/json;字符集=utf-8”,
数据:我的字符串,
成功:功能(数据){
{
$(“#测试”).html(数据);
}
}
});

我建议您深入了解jquery手册。您将发现
$('XYZ')
不选择任何内容,并且
$。post
具有不同的参数顺序。您将需要
成功
回调来接收返回的“正在工作”@杰夫:到底该怎么做?我只是想让
$\u POST['XYZ']
可用?我知道这是一个新手问题,但我只知道如何将数据发送到
中的div。html
不起作用,和以前一样的问题,什么也没有发生。@CaliburVictory添加此代码
错误报告(E\u all);ini设置(“显示错误”,1)到php文件并像这样运行可能您的php代码有一些错误,直到什么都没有发生,只是为了确保,
ajax.php
ajax
代码是同一个页面,对吗?因为我试图让页面在单击
h1
后自动显示
echo
,而不是重定向到另一个页面并显示值。您的jquery选择器也是错误的。阅读u_mulder的第一条评论@Jeff只是把问题中的选择器写错了,我不明白
$的问题。post
应该是
方法:'post'
-或者他需要更改php。正如@u_mulder指出的,选择器是假的。(还有一个没有脚本标签的js?)我现在编辑我的答案检查,但是像这样我想我调用数据到一个
div
,但是我只想在同一个页面中分配变量,以获得
if(isset($\u POST['XYZ']){}
工作,而不重新加载页面。我将您的请求作为文本发送,当数据在加载测试id的情况下发送到div时
var my_string = 'xyz';
$.ajax({
    url: 'ajax.php',
    type: 'post',
    data: { "action":my_string},
    dataType: "json",
    success: function(response) {
        if(response['state'] == 'ok'){
            console.log("ok");
        }
    }
});
<?php echo $_POST['action']; ?>
<head>
 <script>
   var my_string = 'xyz';
   $.ajax({
       method: 'POST',
        url: './giveposts',
          dataType: "text",
         contentType: "application/json; charset=utf-8",
          data:my_string,
   success: function(data) {
      {
        $("#test").html(data);
       }
    }
});
 </head>
  </script>
   <body>
  <div id="test>
     /*echo 
  </div>
  </body>