我正在尝试发送一个带有ajax post请求的json对象。我正在做的事情有些不对劲。这是我的代码。
$.ajax({
url : formURL,
type: 'POST',
data : data,
success:function(data, textStatus, jqXHR)
{
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown)
{
console.log(errorThrown);
},
});无论我尝试在我的操作中返回什么,error部分中的console.log都抛出一个空字符串。以下是ajax帖子发布的代码的一部分:
public function saveInfosAction(){
$request = $this->getRequest();
$eav = $this->getServiceLocator()->get('Frontend\Model\Eav');
return "test";
} 有人能给我一个提示为什么它不工作吗?提前感谢
发布于 2014-04-09 23:59:30
感谢所有人!我找到问题了。
我尝试通过单击以下链接来触发提交
jQuery("#submitInfo").on('click',function(e){..) 但是我忘了这句话
e.preventDefault();因此,表单实际上是使用ajax函数发布的。
发布于 2014-04-05 14:43:17
在您定义url和数据的地方,尝试直接使用url,比如url:http://example.com/myfile.php数据
data:{'id':id, 'name': name}也发送json然后发送dataType :'json'
试一试
$.ajax({
url : formURL,
type: 'POST',
data : data, // data will be like data : {data:data, id: id},
dataType :'json',
success:function(data)
{
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown)
{
console.log(errorThrown);
},
});还可以使用echo或print not return返回您的响应
发布于 2014-04-06 12:28:20
如果是jqXHR.readyState=0和jqXHR.status=0,那么根据我的经验,这是一个跨域的问题。请注意,如果您的站点加载了http://www.domain.com,并且ajax是到http://domain.com的,反之亦然,那么它将被视为跨域请求。
在chrome中打开页面并打开控制台(在页面中右击->检查元素->控制台选项卡)再次运行ajax并查看您得到了什么错误。
chrome提供了有关ajax错误的更详细信息,即使Firefox什么也没说
https://stackoverflow.com/questions/22877523
复制相似问题