为什么请求不创建文件?

时间:2017-05-06 06:50:59

标签: javascript php jquery ajax

我用以下代码创建了一个php文件submit_request.php:

$tx_hash =  $_POST['tx_hash'];
$home-address =  $_POST['home-address'];
$email =  $_POST['email'];
$file = fopen($tx_hash, 'w');
fwrite($file, $home-address);
fwrite($file, $email);
fwrite($file, $tx_hash);
fclose($file);

所以这个文件在我的index.html文件中用这段代码调用:

$.ajax ({
type: 'POST',
url: 'submit_request.php?tx_hash=document.getElementById("tx-
hash").value&home-address=document.getElementById("home-
address").value&email=document.getElementById("email").value',
success: function(data){

}

});

但它不会在打电话后创建像例外的文件。为什么?请给我一个解释如何使这个代码工作;)

谢谢, 基督教

2 个答案:

答案 0 :(得分:0)

您需要转义引号以实际包含HTML元素的值,否则您将发送一个包含document.getElementById(...)的错误字符串作为请求的一部分

$.ajax ({
    type: 'POST',
    url: 'submit_request.php?tx_hash='+document.getElementById("tx-hash").value+'&home-address='+document.getElementById("home-address").value+'&email='+document.getElementById("email").value,
    success: function(data){
        alert(data)
    }

});

答案 1 :(得分:0)

尝试单独发送数据。我在变量名中做了一些修改。请尝试以下代码,

     <?php
       $tx_hash =  $_POST['tx_hash'];
       $home_address =  $_POST['home_address'];
       $email =  $_POST['email'];
       $file = fopen($tx_hash, 'w');
       fwrite($file, $home_address);
       fwrite($file, $email);
       fwrite($file, $tx_hash);
       fclose($file);

你的Ajax代码

       $.ajax ({
          type: 'POST',
          url: 'submit_request.php',
          data: {
             tx_hash:document.getElementById("tx_hash").value,
             home_address:document.getElementById("home_address").value,
             email:document.getElementById("email").value
           },
          success: function(data){

          }
       });