【发布时间】:2011-11-15 05:17:05
【问题描述】:
我正在尝试通过一直放置一些警报来找出此功能不起作用的原因。
我收到第一个“嗯”警报,但之后什么都没有。
如果我查看 firebug,我可以看到我实际上得到了我想要的返回的 json 数据,所以显然 ajax 请求是成功的....但是为什么成功返回的内部什么都没有做呢?
alert('hmm'); // <- i work
$.ajax({
type: 'POST',
url: '/process_registration.php',
data: {event: event_id, time: time_id, ticket: ticket_id, tix: number_tickets, sta: cc_state, type: cc_type, e: reg[0], m: reg[1], f:reg[2], l:reg[3], cc:reg[4], cvn:reg[5], mo:reg[6], yr:reg[7], st:reg[8], city:reg[9], p:reg[10], tot:total },
cache: false,
dataType: 'json',
success: function(data) {
alert('hi1'); // <- why don't I get inside here and work?
if(data['success']=='1'){
window.location.href = '/registration_complete';
}
if(data['unknown']=='1' || data['error']=='1') {
alert('hi your submission failed');
}
}
});
如果发生这种事情,我习惯于看到一些错误,但我没有从浏览器返回任何东西来调试它。我敢肯定,这很简单,并且会为我的愚蠢揭示一个新的维度。
请帮忙:)
这是一个提交数据的示例,萤火虫说正在发布在 ajax 帖子中:
cc 3242324232423242
city oasuht
cvn 122
e tohaeus@email.com
event 22
f soatehu
l sntahou
m 23423424
mo 12
p 234234
st aoesntuh asotenhu
sta State
ticket 37
time 120
tix 4
tot 4.00
yr 12
所以看来所有数据都在传递,对我来说应该不是问题。
【问题讨论】:
-
删除
data参数并告诉我们你看到了什么。如果它没有改变,那么请转到它应该调用的 URL,然后告诉我们会发生什么(例如,是否有某种重定向?)。 -
恐怕没有任何改变 - 我仍然得到 json 数据的返回,在这种情况下 -> "{"error":"1"}{"error_msg":" Invalid Expiry Date .您的信用卡尚未为此交易收取费用。"}" 因为我们没有发送信用卡到期日期的任何数据。
-
添加
error: function(xhr,status,error) {...}回调,看看是否因为错误而被调用。 -
我认为你的脚本没有返回有效的 json 数据......
-
这只是一个猜测,对你来说很好:)
标签: jquery