我想我疯了。
我正在整个项目中使用json对象,就像我在这里一样,除了这个例子不好玩。任何人都能看出它有什么问题吗?
json对象是:
{"theurl":"http://localhost:8888/sitename/success"}
我的javascript是:
function startSuccess_stripe(responseText, statusText, xhr, $form){
console.log(responseText);
if(typeof responseText !== 'undefined'){
console.log(responseText);
if(responseText['stripe']){
alert('Your card has been declined. Please try again.');
}else{
console.log(responseText);
console.log('ELSE: '+responseText['theurl']);
// window.location = responseText['redirect'];
}
}
};
正如您所看到的,它充满了控制台日志。输出如下:
{"theurl":"http://localhost:8888/sitename/success"} main.min.js:2
{"theurl":"http://localhost:8888/sitename/success"} main.min.js:2
{"theurl":"http://localhost:8888/sitename/success"} main.min.js:2
ELSE: undefined
为什么最后一个未定义?这就是我在代码中引用每个其他json对象值的方式,并且没有任何问题,我很困惑。
编辑:@JasonP的建议是这样的。标头未在此特定页面上设置,因此它被视为HTML,而不是json。当我使用codeigniter时,缺少的特定代码是$this->output->set_content_type('application/json');
作为控制器的一部分。对于其他人,您可以将dataType
设置为ajax调用的一部分。