如何使用ajax获取文本区域数据(文本区域中的Html文件)我需要将数据发送到Php? Ajax没有发送我的文本区域数据?

时间:2017-05-01 19:38:06

标签: javascript php jquery ajax

如果我试图在textarea中发送Html数据代码失败。警告工作直到用户名数据正常,但ajax没有将我的数据发送到Php服务器。

的Javascript

 var username=document.getElementById( "my_text" ).value;  

        if(username){

                $.ajax({
                    type: 'post',
                    url: 'checkdata.php?username=username',
                    data: {
                    username:username,
                    },
                    success: function (response){
                        $( '#name_status' ).html(response);
                        if(response=="OK"){
                            return true;    

                        }
                        else{
                            return false;   
                        }
                        }
                    });

HTML

        <textarea   id="my_text"  >
                        <html>
                        <head>
                             <title>Page Title</title>
                        </head>
                            <body>
                                <h1>My First Heading</h1>
                                <p>My first paragraph.</p>
                            </body>
                        </html>
                </textarea>

2 个答案:

答案 0 :(得分:0)

您的代码有几个地方可能会崩溃。如果您提供错误的控制台日志,这对我们来说将更容易帮助。

1)如果你尚未加载jQuery,那么$.ajax()将不会被调用。您可能还需要执行$(document).ready();以确保所有内容都已加载。

2)你正在textarea内包装一个全新的DOM。我不确定这是否是复制/粘贴错误,但它会对结果产生奇怪的影响。

3)在您的回复之后,显然您实际上是在尝试将html发送到服务器..?来自控制台的错误代码表明还有很多其他问题。如果我们看不到任何东西,很难知道如何提供帮助。即PHP和其余的客户端代码。

3)由于您的if语句未包含在函数调用中,因此它将在运行时进行评估。因此代码在页面加载时运行,但之后不会触发它。这意味着username始终为空。

如果你想解决这个问题,你需要一些东西来触发事件。您可以尝试:

HTML

<body>
<textarea id='my_text'></textarea>
<button id="submitButton">Submit</button>
</body>

JS

let sub = document.getElementById('submitButton');
sub.addEventListener('click', function(){
  let username = document.getElementById('my_text').value;
  if(username){
    // Add Ajax Call Here
  }
});

答案 1 :(得分:0)

  

Backup.html或php

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Text editor</title>
    <link rel="stylesheet" type="text/css" href="style.css" />

    <script type="text/javascript">
    function view_text () {
            var username=document.getElementById( "my_text" ).value;  
    console.log(username);
    if(username){

            $.ajax({
                type: 'post',
                url: 'checkdata.php',
                data: {
                username:username,
                },
                success: function (response){
                    $( '#name_status' ).html(response);
                    if(response=="OK"){
                        return true;    

                    }
                    else{
                        return false;   
                    }
                    }
                });

    }
    else{
        $( '#name_status' ).html("");
        return false;
    }





        }
        </script>   

</head>
<body>

    <input type="button" value="Execute >>" onclick="view_text()" class="button"/>

         <textarea   id="my_text"  >
                <html>
                <head>
                     <title>Page Title</title>
                </head>
                    <body>
                        <h1>My First Heading</h1>
                        <p>My first paragraph.</p>
                    </body>
                </html>
        </textarea>

<span id="name_status"></span>

</body>
</html>