jQuery函数.split()无法正常工作,AJAX数据未提交

时间:2016-03-05 15:32:05

标签: jquery ajax

以下两个作品的第一部分代码。数据被正确地传输到php。

请注意ajax请求'topost':'momo_1'下的data

var linkwjpg = $("#blurpost").attr("src").split("/").pop().split(".", 1);
$("h1").text(linkwjpg);
var myInterval = setInterval(function () {
    $.ajax({
        url: 'time.php',
        type: 'post',
        data: {'user':'<?php echo $_SESSION["login"] ?>','topost':'momo_1'},
        success: function() {

        }
    });
}, 1000);

如果我更换&#34; &#39; momo_1&#39; &#34;用&#34; linkwjpg&#34;,在我的情况下&#39; momo_1&#39;,它突然不再工作......

var linkwjpg = $("#blurpost").attr("src").split("/").pop().split(".", 1);
$("h1").text(linkwjpg);
var myInterval = setInterval(function () {
    $.ajax({
        url: 'time.php',
        type: 'post',
        data: {'user':'<?php echo $_SESSION["login"] ?>','topost':linkwjpg},
        success: function() {

        }
    });
}, 1000);

任何人都可以帮助我吗? 我现在一直在努力工作一整天,仍然无法弄清楚问题是什么......

2 个答案:

答案 0 :(得分:2)

.split()总是返回一个数组。因此,linkwjpg不仅是字符串"momo_1",而是包含字符串["momo_1"]

的数组

由于jQuery处理data属性中的数组(thisthis)的方式,topost属性将作为

提交
topost%5B%5D=momo_1  // topost[]=momo_1 (https://jsfiddle.net/5k6jtew2/)

可能的解决方案是:

var linkwjpg = $("#blurpost").attr("src").split("/").pop().split(".", 1)[0];

data: {'user':'<?php echo $_SESSION["login"] ?>','topost':linkwjpg[0]}

答案 1 :(得分:-2)

如果linkwjpg是一个数组,我认为你必须修改这一行$("h1").text(linkwjpg);