我正在尝试使用Ajax帖子在选择国家/地区时从xml返回省份列表。
这是我收到的错误消息:
xml似乎没问题 - 错误消息显示选择国家/地区时的正确状态/省份,但由于某种原因它出错,我无法使用成功回调函数。 我相信我应该在我的php中回应xml响应,并且$(document).ready函数应该包含ajaxError处理函数,但是我无法在成功回调中提醒我的省/州列表。有谁知道我在这里缺少什么?
HTML
<select name="aff_country" onChange="loadStates(this.value);">
<option value="Select Me">Select Me</option>
</select>
的Javascript
$(document).ready(function() {
$(document).ajaxError(function(e,xhr,settings,exception) {
alert('Error Page: ' + settings.url + '\n\n'+'Error Message:\n' + xhr.responseText );
});
});
function loadStates(country_value) {
$.post("/states.php", {con_name: country_value}, function(data) {
console.log(data);
},"xml");
}
XML(PHP)
<?
$request_obj = new Request();
$request_obj->flds = $_REQUEST;
$states = array();
$states = $country_bus_obj->states($request_obj,$_CONFIG);
$xml .= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
$xml .= "<response>";
$xml .= "<status>" . $status . "</status>";
$xml .= "<message>" . $trans->msg . "</message>";
$xml .= "<states>";
foreach ($states as $item) {
$xml .= "<state>";
$xml .= "<name>" . $item['sta_name'] . "</name>";
$xml .= "</state>";
}
$xml .= "</states>";
$xml .= "</response>";
header('Content-type: text/xml');
header('Cache-Control: no-cache');
echo $xml;
?>
答案 0 :(得分:0)
如果有人遇到同样的问题......我通过删除包含的php文件底部的所有换行符解决了这个问题。