jQuery load()问题添加了中断

时间:2015-04-19 02:28:03

标签: javascript php jquery html

我的.load功能有问题。我在数据加载时遇到问题,在文本区域的顶部和底部放置换行符。我检查了数据库,看看问题是否来自那里,但事实并非如此。所以任何人都可以帮助我。谢谢..

http://gyazo.com/a0562c067824c10b82aae17c2e918353

HTML代码

<div class="col-md-4">Match ID</div>
<div class="col-md-8"><input type="text" class="form-control" name="match_id" id="match_id" value="<?if(isset($_POST['match_id']))  echo $_POST['match_id']?>" /></div>

<div class="col-md-4">Ticket Category</div>
<div class="col-md-8">
    <select class='form-control' name="ticket_category" id="ticket_category">
        <option value="-1">Select One..</option>
        <?php
        foreach ($ticket->getStaffcategories() as $key => $value){
            echo "<option value=\"$value[id]\">$value[name]</option>";
        }
        ?>
    </select>
</div>

<div class="col-md-4">Body</div>
<div class="col-md-8"><textarea rows="5" id="Ticketbody" class="form-control"><?if(isset($_POST['Ticketbody'])) echo $_POST['Ticketbody']?></textarea></div>

PHP代码

$("#ticket_category").change(function(){
    var id = parseInt($('#ticket_category').val());
    if(id != -1){
        $("#Ticketbody").html('Retrieving Information...');
        $("#Ticketbody").load('../includes/function.php?function=gettickettemp',{'categorie_id':id}, 'text');
   }else{
        $("#Ticketbody").html('');
   }
});

函数PHP代码

case "gettickettemp":
    if(isset($_POST["categorie_id"])){

        $categorie_id = $sql->escape_string($_POST["categorie_id"]);
        $getTemp = $sql->query("SELECT * FROM `ticket_categories` WHERE `id` = '$categorie_id'");
        $tempData = $getTemp->fetch_assoc();

        $data = str_replace('<br>', "\n", $tempData['body']);

        echo $data;
    }
    break;

1 个答案:

答案 0 :(得分:2)

正如@dandavis在评论中所建议的那样,你应该在PHP发送到浏览器之前修剪它的字符串:

case "gettickettemp":
    if(isset($_POST["categorie_id"])){

        $categorie_id = $sql->escape_string($_POST["categorie_id"]);
        $getTemp = $sql->query("SELECT * FROM `ticket_categories` WHERE `id` = '$categorie_id'");
        $tempData = $getTemp->fetch_assoc();

        $data = str_replace('<br>', "\n", $tempData['body']);

        echo trim($data); // <-- remove whitespace here.
    }
    break;

您可以使用Chrome的开发工具检查有效负载是否包含空格。如果按命令 + Shift + I (Mac)然后单击network选项卡,则应显示新的AJAX请求那里。如果没有,那么重新加载页面,你应该看到所有的请求,新的请求显示在底部。

您可以点击response标签检查服务器发回给您的内容。

screenshot