$ .post在代理后面不起作用

时间:2014-02-01 22:29:37

标签: php jquery ajax .post

我正在使用用户跟踪脚本,只需访问webpage时,代码就像魅力一样,但当我使用像this这样的代理时,删除脚本取消选中$ .post部分不起作用/触发,用户不会插入数据库。你能帮我么 ?谢谢 !包含脚本的文件,名为ext.js

$(document).ready(function() {
    var name =$("#user_ip").val();       
    var last_name = $("#user_location").val();
        ($.post('includes/track.php',{name:name, last_name:last_name , action: 'joined'}));
    setInterval(function() {
        $.post('includes/track.php',{action: 'list'},function(data){
            $("#onlinenow").html(data);

        });
    },10000);


$(window).unload(function(){
    $.ajax({
        type: 'POST',
        url: 'includes/track.php',
        async:false,
        data: {name:name,action: 'left'}
    });

});

});

2 个答案:

答案 0 :(得分:0)

问题不在于你的代码。这是您正在使用的基于Web的代理服务中的错误。您不能指望这样的服务能够很好地工作......他们必须从根本上修改内容才能工作。你无法合理地做任何事情。

答案 1 :(得分:0)

基于Web的代理不会解析代码中的所有链接。所以,你不能责怪你的代码。此外,它也取决于代理。它如何解析源中的URL。

任何代理通常都会解析hrefactionsrc属性中的网址。所以,在你的情况下,为了避免这种情况,你可以做类似的事情:

<form method="POST" action="http://my.domain.com/path/file.php">

使用JavaScript从<form>标记获取网址,如下所示:

$("form").attr("src");

这样可行,因为代理将以这种方式更改上述代码:

<form method="POST" action="http://my.proxy.com/proxy?url=http://my.domain.com/path/file.php">

JavaScript会读取正确的URL,而不是将URL硬编码为字符串。