相关疑难解决方法(0)

为什么jquery $ .ajax会删除数据中的换行符而$ .get却没有?

我使用$ .ajax和$ .get调用相同的PHP脚本并获得两个不同的结果.

$ .ajax会从通过函数传递的数据中删除换行符,而$ .get则不会.

我已经尝试过明确地将dataType设置为text和html而没有运气.$ .get的大部分参数在$ .ajax中默认为相同.

http://api.jquery.com/jQuery.ajax/

这是一个错误吗?

这是我使用的确切代码:

    $.get("lib/ajax_scripts/set-product-value.php", { input_id: input_id, val:value });

    $.ajax({
            url:"lib/ajax_scripts/set-product-value.php",
            type:'GET',
            data:'input_id='+input_id+'&val='+value});
Run Code Online (Sandbox Code Playgroud)

以下是任何人都可以尝试访问启用PHP的服务器和firebug的代码.查看每个请求的firebug响应,您将看到<br />添加到$ .get而不是$ .ajax.

ajaxtest.html

<form method="GET" onsubmit="return false">
    <textarea id="data" name="data">a
        b
        c</textarea>
    <input type="submit" value="Submit" id="submit">        
</form>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$('#submit').click(function(){
   var data = $('#data').val();

   $.get("data.php", { data: data });


   $.ajax({
        url:"data.php",
        type:'GET',
        data:'data='+data});

});   
</script>
Run Code Online (Sandbox Code Playgroud)

data.php

<?php  echo nl2br($_GET['data']); ?>
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

8
推荐指数
1
解决办法
4116
查看次数

标签 统计

ajax ×1

javascript ×1

jquery ×1