Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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
Javascript 为什么PHP看不到来自ajax js的值?_Javascript_Php - Fatal编程技术网

Javascript 为什么PHP看不到来自ajax js的值?

Javascript 为什么PHP看不到来自ajax js的值?,javascript,php,Javascript,Php,当我从JS端得到结果时,值就变成了真。但是我想把这个值填充到我的PHP文件中,所以我使用了ajax。当我在PHP中删除if-isset函数时,我得到了一个未定义的索引错误 HTML端 <form method="post" onsubmit="return false;" class="form-inline"> <input type="email" name="e

当我从JS端得到结果时,值就变成了真。但是我想把这个值填充到我的PHP文件中,所以我使用了ajax。当我在PHP中删除if-isset函数时,我得到了一个未定义的索引错误

HTML端

     <form method="post" onsubmit="return false;"  class="form-inline">
     <input type="email" name="email" id="subscriber_email" placeholder="Your E-mail" >
     <button type="submit" id="subscribe_newsletter" class="btn newsbox-btn w- 
      100"onclick="gonder()">Subscribe</button>
                            
       </form>
       <div id="subscribe_message"></div>
        <p id="succes" class="mt-30"></p>
jS侧

<script  type="text/javascript">
function gonder(){
var ad=$("input[name='email']").val();

$.ajax({
    type:"POST",
    url:"myphpfile.php",
    data:ad,   // I also tried  {'sendingData':ad} but it doesn't work.
    success:function(sonuc){
        $("#subscribe_message").html(sonuc);
        $("#succes").html(sonuc);   
        
    }
})

 }
</script>
和PHP端

<?php


    if(isset($_POST["ad"])){
    $x=$_POST["ad"];
    echo $x;

     }
   else{
      echo "There is nothing coming from the script.";

      }

     ?>

您正在发送一个值,但没有发送具有该值的密钥。例如,如果值是123,那么您只发送123,其他什么都不发送。所以它找不到它,因为在发送的数据中没有称为ad的键:

$_POST["ad"]
为值添加一个键:

data: { ad: ad }
甚至简单地说:

data: { ad }

您正在发送一个值,但没有发送具有该值的密钥。例如,如果值是123,那么您只发送123,其他什么都不发送。所以它找不到它,因为在发送的数据中没有称为ad的键:

$_POST["ad"]
为值添加一个键:

data: { ad: ad }
甚至简单地说:

data: { ad }