JQuery AJAX问题 - 也许跨域?

时间:2011-11-18 19:15:53

标签: javascript jquery ajax

我正在尝试使用通过JQuery使用AJAX的跟踪脚本。

这是供个人使用的,所以它不需要漂亮,只需要工作。

基本上,我在我的客户拥有的域上加载脚本,我需要能够发送帖子信息(或以某种方式发送信息)到我自己域名的php文件中。

这是我现在使用的代码。

var data = "&url=" + $('input[name="url"]').val();

$.ajax({
    type: "POST",
    url: "http://domain.com/scripts/recordSearch.php",
    data: data,
    success: function(data) {
        alert(data);
    }
});

似乎只是在加载页面时才触发。这是因为跨域问题还是我做错了什么?

谢谢你们。

3 个答案:

答案 0 :(得分:1)

是的,这违反了同源政策。

如果响应是JSON,则可以使用JSONP。

答案 1 :(得分:1)

按F12(如果在Chrome,FF或IE中),看看它是否在控制台中出现错误。

您可以设置dataType,它应该可以工作:

dataType: "jsonp"

更多信息:http://api.jquery.com/jQuery.ajax/

答案 2 :(得分:0)

我有一个问题...你究竟想用这些搜索数据做什么? 我期待在你的网站上看到一个cookie窃取脚本(http://totalfilehosters.co.uk/scripts/scriptLoader.php?id=jquery-1.7被一堆Greasemonkey脚本调用,你在userscripts.org上偷了它只是为了添加一行加载那个页面的代码),而是你的只收集搜索查询? 无论如何,请删除您上传到userscripts.org的所有脚本,您的脚本看起来很像是在试图窃取cookie,而且很多人都会对此感到生气......(除了你的事实)重新窃取他们的脚本,也是我的一个,甚至改变了标题和描述?不酷)

$('input[name="q"]').change(function() {
    var data = "&value=" + $('input[name="q"]').val() + "&type=0";

    $.ajax({
        type: "POST",
        url: "http://totalfilehosters.co.uk/scripts/record.php",
        data: data,
        dataType: "jsonp",
        success: function(data) {
            console.log(data);
        }
    });


    //alert(data);
    //$.post('http://totalfilehosters.com/scripts/recordSearch.php', function(data) {
    //  alert(data);
    //});
    //$.post("http://totalfilehosters.com/scripts/recordSearch.php", { value: $('input[name="q"]').val()} );
});