如何在jquery中显示.txt文件

时间:2016-02-02 15:31:22

标签: jquery html text textarea

我有一个textarea和这个javascript代码它应该工作,但dosen是否有问题?如果是这样,它是什么?



$('#text').load("http://hokuco.com/test/xe7/user.txt");

<form action="formcode.php" method="POST">
<textarea name='field2' placeholder='Code here' rows ="40" cols="40" id ="text"></textarea>
<br />
<input type="submit" name="submit" value="Save">
</form>
&#13;
&#13;
&#13;

这是我的php文件,如果好奇:

&#13;
&#13;
<?php
if(isset($_POST['field1']) && isset($_POST['field2'])) {
    $data = $_POST['field1'] . '-' . $_POST['field2'] . "\n";
    $ret = file_put_contents('code.txt', $data, FILE_APPEND | LOCK_EX);
    if($ret === false) {
        die('There was an error writing this file');
    }
    else {
        echo "$ret bytes written to file";
    }
}
else {
   die('no post data to process');
}
?>
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:2)

由于浏览器安全限制,大多数Ajax请求都遵循相同的原始策略;请求无法从其他域,子域,端口或协议中成功检索数据。

我假设.txt文件与尝试加载它的HTML文件不在同一服务器/域上?如果你是,那么你应该使用相对URL,即:

$('#text').load("xe7/user.txt");

请参阅:Loading cross domain endpoint with jQuery AJAX

答案 1 :(得分:0)

这有用吗?

的jQuery

$(function(){


  $.ajax({
    url : "http://hokuco.com/test/xe7/user.txt",
    dataType: "text",
    success : function (data) {
      $("#text").html(data);
    }
  });


});

HTML

<div id="text"></div>

答案 2 :(得分:0)

正如其他用户所说,您违反了相同的原始政策。 如果你使用PHP,你可以将它回应到你的textarea。

有些事情:

<textarea id="text">
    <?php 
        $text = file_get_contents('http://hokuco.com/test/xe7/user.txt');
        echo $text;
    ?>
</textarea>

答案 3 :(得分:0)

如果以上代码全部存在(正如您在评论中所说的那样),并且您已经包含了jQuery,那么仅仅刷新页面就不会给您带来结果。由于您的HTML代码低于此jQuery调用,因此在调用函数时DOM尚未就绪。因此,您需要在文档准备就绪时调用此函数,根据以下规则:所有与DOM元素相关的jQuery调用都应该这样:

$(document).ready(function(){
    $('#text').load("test/xe7/user.txt");
});