Php jQuery在AJAX调用中发布版本

Php jQuery在AJAX调用中发布版本,php,javascript,jquery,Php,Javascript,Jquery,我有一个简单的脚本,可以获取textarea的值,并通过AJAX发布。如果我发布“?”我会得到奇怪的值。如果我在发布之前注销它检索到的值,那么所有这些都是正确的。但是我的脚本收到的POST数据包括jQuery版本号。我的代码和结果如下。我是不是应该逃避这一切 var value = $("#textarea").val(); $.ajax({ url:'index.php', type:'POST', data:'text='+value,

我有一个简单的脚本,可以获取textarea的值,并通过AJAX发布。如果我发布“?”我会得到奇怪的值。如果我在发布之前注销它检索到的值,那么所有这些都是正确的。但是我的脚本收到的POST数据包括jQuery版本号。我的代码和结果如下。我是不是应该逃避这一切

var value = $("#textarea").val();

$.ajax({
        url:'index.php',
        type:'POST',
        data:'text='+value,
        dataType:'JSON',
        success:function(data){}
    });

我的帖子数据以“jquery1710660378167700797_1345234676316”的形式显示文本的值。

这是一个帖子请求,不是GET,应该是:

var value = $("#textarea").val();

$.ajax({
    url:'index.php',
    type:'POST',
    data: {text :  value}, //object
    dataType:'JSON',
    success:function(data){

    }
});
PHP


此外,将数据类型设置为JSON会将响应评估为JSON并返回一个JavaScript对象。JSON数据以严格的方式进行解析,拒绝任何格式错误的JSON,并抛出解析错误。这意味着任何格式错误的JSON,您的ajax调用都将失败。

这是一个POST请求,不是GET,应该是:

var value = $("#textarea").val();

$.ajax({
    url:'index.php',
    type:'POST',
    data: {text :  value}, //object
    dataType:'JSON',
    success:function(data){

    }
});
PHP


此外,将数据类型设置为JSON会将响应评估为JSON并返回一个JavaScript对象。JSON数据以严格的方式进行解析,拒绝任何格式错误的JSON,并抛出解析错误。这意味着任何格式错误的JSON,您的ajax调用都将失败。

我不确定您在执行脚本时,是否按下了按钮

如果没有,则需要对其进行包装,使其仅在DOM完成加载后运行:

$(document).ready(function()
{
    var value = $("#textarea").val();
    $.ajax({
            url:'index.php',
            type:'POST',
            data:'text='+value,
            dataType:'JSON',
            success:function(data){}
        });
});

我不确定你什么时候在执行脚本,是按按钮吗

如果没有,则需要对其进行包装,使其仅在DOM完成加载后运行:

$(document).ready(function()
{
    var value = $("#textarea").val();
    $.ajax({
            url:'index.php',
            type:'POST',
            data:'text='+value,
            dataType:'JSON',
            success:function(data){}
        });
});

范围界定问题?您是否尝试过使用
数据:'text='+$(“#textarea”).val(),
这在我看来像是一个jsonp回调,但您没有将数据类型定义为jsonp,我将尝试重新创建更改的数据:'text='+值到数据:{text:value},效果非常好。谢谢范围界定问题?您是否尝试过使用
数据:'text='+$(“#textarea”).val(),
这在我看来像是一个jsonp回调,但您没有将数据类型定义为jsonp,我将尝试重新创建更改的数据:'text='+值到数据:{text:value},效果非常好。谢谢实际上,对象和GET方法一样被序列化到url查询中,问题是当使用序列化字符串$.ajax调用替换??使用jQuery版本。不知道这是jQuery团队的意图还是一个bug,但我已经厌倦了???它最后离开了?完好无损,而且有????它给了我最后两个?依此类推。@IvanHušnjak-这是正确的,您可以使用字符串或将转换为字符串的映射,但对于POST,它使用不同的发送数据技术,因为它不能附加到URL,所以它作为UTF8表单数据发送,使用映射通常更容易理解,在使用变量等时也更简单。也可能是返回的JSON不符合标准,我将把这一点添加到我的答案中!实际上,对象和GET方法一样被序列化到url查询中,问题是当使用序列化字符串$.ajax调用替换??使用jQuery版本。不知道这是jQuery团队的意图还是一个bug,但我已经厌倦了???它最后离开了?完好无损,而且有????它给了我最后两个?依此类推。@IvanHušnjak-这是正确的,您可以使用字符串或将转换为字符串的映射,但对于POST,它使用不同的发送数据技术,因为它不能附加到URL,所以它作为UTF8表单数据发送,使用映射通常更容易理解,在使用变量等时也更简单。也可能是返回的JSON不符合标准,我将把这一点添加到我的答案中!