我正在制作这样的AJAX请求:
$("#botao_pesquisar_material").click(function(){
$(this).attr("disabled", "disabled");
$("#material").addClass('loading');
$.ajax({
url: '{{ URL::base() }}/material/lista_ajax/',
dataType: 'json',
cache: false,
error: function(data)
{
console.log(data);
},
success: function(data) {
for(x in data)
{
console.log(data[x]);
}
}
});
我的PHP方法没问题,因为当我通过URL访问它时,它会返回预期的JSON,当我在localhost上调用它时,它完美地工作,所以它不是关于特殊字符或其他与数据有关的东西。
当我在服务器上运行时,我有这个:
GET http://dc.portaldeideias.com.br:8080/sergios/public/material/lista_ajax/?callback=jQuery172007718208665028214_1342725644520&_=1342725649090 500 (Internal Server Error) jquery.js:4
f.support.ajax.f.ajaxTransport.send jquery.js:4
f.extend.ajax jquery.js:4
$.click.$.ajax.url
f.event.dispatch jquery.js:3
f.event.add.h.handle.i
使用console.log(data)
我有完整的JSON响应,但这里真的很奇怪:
readyState
为4
responseText
为[{"attributes":{"pk_a030_id":78,"a030_descricao":"Camur\u00e7a"},"original":{"pk_a030_id":78,"a030_descricao":"Camur\u00e7a"},"relationships":[],"exists":true,"includes":[]}]
statusText
为Internal Server Error
因此,创建了请求的值但我收到了Internal Server Error
答案 0 :(得分:0)
很抱歉发布此答案,但我没有必要的权限将其添加为您的问题的评论。
您是否注意到javascript日志http://localhost:8080/sergios/public/material/lista_ajax/
中的网址与屏幕截图http://dc.p[...]s.com.br:8080/sergios/public/material/lista_ajax
中提供的网址不同?
你是否有两个不同版本的lista_ajax
PHP方法托管在两个不同的服务器(可能是一个远程服务器,另一个服务器本地服务器),这就是为什么它从它看到它时完美无瑕的原因浏览器并在使用ajax测试时出现错误?
同样重要的是要注意,如果您正在浏览托管在远程服务器上的网站,并且ajax配置为localhost
地址,它将为您自己的计算机而不是远程服务器请求( javascript在浏览器中运行,因此localhost
会转换为自己的客户端地址。)
也许情况并非如此,但值得评论。