2011-11-18 53 views
2

我想通过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); 
    } 
}); 

看起来好像只是在页面加载时没有触发。这是因为跨域问题还是我只是在做一些完全错误的事情?

谢谢你们。

+0

我有类似的问题与跨域Ajax和我解决了它通过添加www.domain.com/foo/ FOO。所以试试www。不知道这是否适用于此 – zaoudis

+0

您应该添加一个错误部分,并可能将所有内容包装在try catch语句中。你也应该尝试在警报中使用文本,例如alert(“test:Got this far。”); – RetroCoder

回答

1

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

您可以设置数据类型,同时它应该工作:

dataType: "jsonp" 

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

+0

谢谢!这工作! –

1

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

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

+0

您无法使用JSONP进行POST。 – erturne

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()}); 
});