【发布时间】:2013-02-23 23:09:22
【问题描述】:
您好,我在 codeigniter 中开发了一个 stie,我想通过 ajax 调用发送一个 xml。 xml 来自另一台服务器。这是我认为的ajax
xmlDoc.loadXML(xmlfromserver);
$(function(){
$.ajax({
type: "POST",
url: "<?php echo site_url('/backend/provider/all_country_request'); ?>",
data: "xml"+xmlDoc.xml,
async: false,
contentType: "text/xml",
dataType: "text",
success: function(msg)
{
alert(msg);
},
error: function()
{
alert("error");
}
});
});
这是我的控制器:
public function all_country_request(){
if ($this->User_model->isLoggedIn()){
$this->Travco_model->all_country_request();
}
else{
redirect('/backend/user/home/');
}
}
这是我的简单模型:
function all_country_request(){
$xml_str = $_POST['xml'];
$xml = new SimpleXMLElement($xml_str);
foreach ($xml->DATA as $entry){
$data = array(
'currency_code_travco'=>$entry->attributes()->CURRENCY_CODE,
'currency_name'=>$entry->CURRENCY_NAME,
'created'=>date('Y-m-d H:i:s'),
'modified'=>date('Y-m-d H:i:s'),
);
$this->db->insert('currency_travco',$data);
echo '<br>';
}
}
这是我的 XML:
<?xml version="1.0" standalone="yes"?>
<RETURNDATA lang="it-IT" type="COR" xsi:noNamespaceSchemaLocation="http://xmlv5test.travco.co.uk/trlink/schema/CountryRequestV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MESSAGE>All Countries details and relevant city details</MESSAGE>
<DATA COUNTRY_CODE="ABW" CURRENCY_CODE="EUR">
<COUNTRY_NAME>Aruba</COUNTRY_NAME>
<CURRENCY_NAME>euro</CURRENCY_NAME>
</DATA>
返回给我的错误在附图中
有什么问题?
【问题讨论】:
-
查找
php undefined index -
好的,但是正确的方法是什么?我不知道问题是传递的xml还是帖子@Pekka웃中的变量
-
data是什么意思发送到 PHP 脚本?这看起来不对data: "xml"+xmlDoc.xml,?它可能应该类似于data: { xml: "... some XML data...." } -
好的,但是返回我的字符串不能被解析为 XML
-
是的,因为您没有正确传递 XML。我认为您可以使用
=:"xml="+xmlDoc.xml,不确定;对象符号在任何情况下都可以使用
标签: php jquery xml ajax codeigniter