define(function (require, exports, module) { var ajax = require("../platform/webRequest.js"); var parser = require("../platform/parser.js"); var submitToken; exports.prepareOrder = function (train, profile) { var purposeCode = profile.studentTicket ? "0X00" : "ADULT"; var data = "secretStr" + "=" + train.secureStr + "&train_date=" + train.date + "&back_train_date" + "=" + (profile.resign ? profile.resignDate : train.date) + "&tour_flag" + "=" + (profile.resign ? "gc" : "dc") + "&" + "purpose_codes" + "=" + purposeCode + "&" + "query_from_station_name" + "=" + train.from.code + "&" + "query_to_station_name" + "=" + train.to.code + "&" + (ajax.userAtts ? "_json_att=" + ajax.userAtts : "undefined"); var def = new $.Deferred(); ajax.sendPost("leftTicket/submitOrderRequest", "leftTicket/init", data, "json", function (data) { if (!data.status) { def.reject({ msg: parser.getError(data).message }); } else { ajax.sendPost(profile.resign ? "confirmPassenger/initGc" : "confirmPassenger/initDc", "leftTicket/init", null, "text", function (html) { var token = /var\s*globalRepeatSubmitToken\s*=\s*['"]([^'"]+)["']/i.exec(html) && RegExp.$1; if (token) { submitToken = token; def.resolve({ token: token }); } else { submitToken = null; def.reject({ msg: "12306返回的信息无法识别,请重试..." }); } }, function () { def.reject({ msg: "12306不给力唷,请尽快重试..." }); }, true); } }, function () { def.reject({ msg: "12306不给力唷,请尽快重试..." }); }); return def; }; });