为什么我的jquery.ajax()没有触发成功或错误?

为什么我的jquery.ajax()没有触发成功或错误?,jquery,ajax,Jquery,Ajax,我已经盯着这个看了6个小时了。我不明白 $.ajax({ url: "http://www.band.dev:8888/datafeeder/hello_world", success: function( data ) { alert (data); }, error: function(request, status, error) { alert(status + ' - ' + error); } }); 我在本地

我已经盯着这个看了6个小时了。我不明白

$.ajax({
    url: "http://www.band.dev:8888/datafeeder/hello_world",
    success: function( data ) {
        alert (data);
    },
    error: function(request, status, error) {
        alert(status + ' - ' + error);
    }
});
我在本地运行MAMP,当我直接点击URL时,它会回显“hello world”,没问题。当我运行此命令时,会出现一个带有“error-”的对话框。我已经尝试添加数据类型:'html'在那里,没有帮助。想法

--编辑--

这就是我的实际问题。当我运行它时,既不会触发成功也不会触发错误,当我直接点击URL时,我可以看到JSON是正确的。(顺便说一句,相对url修复程序适用于上述代码位。)


您可能遇到了限制,该限制禁止您将AJAX请求发送到托管脚本的域以外的域。确保不违反此策略的最佳方法是为AJAX调用使用相对URL:

$.ajax({
    url: "/datafeeder/hello_world",
    success: function( data ) {
        alert (data);
    },
    error: function(request, status, error) {
        alert(status + ' - ' + error);
    }
});

要使此AJAX请求正常工作,托管此javascript的HTML页面必须托管在
http://www.band.dev:8888

我考虑过这一点,因为我最初的背景是Flash开发,跨域策略非常必要和常见。但有了这个,我看到了自动完成输入,它们是从外部托管的脚本中提取的。这仅仅是因为他们返回的JSONP格式吗?@Tim,要使JSONP正常工作,您的服务器必须返回JSONP,而不是
“hello world”
。JSONP的外观可能类似于
someCallback({value:'hello world'})
,您当然可以通过将其作为请求参数传递来个性化
someCallback的名称。这可能有助于理解差异。您可能想访问jQuery网站,选择“jQuery如何工作”。阅读第一部分。原因是b/c您可能需要在难以捉摸的$(document).ready(function(){….});//在dotsIt中插入您的代码。它已经在ready()函数中。我知道数据库正确地返回了JSON对象,当我直接点击url时可以看到它。当我使用Chrome调试器时,它说信息将以text/html而不是JSON的形式返回。我在别处读到过,我可能需要配置我的ApacheMimetypes来处理JSON,但据我所知,这已经完成了(application/x-javascript,application/JSON)。还有别的想法吗?
$.ajax({
    url: "/datafeeder/hello_world",
    success: function( data ) {
        alert (data);
    },
    error: function(request, status, error) {
        alert(status + ' - ' + error);
    }
});