【发布时间】:2016-12-06 13:59:44
【问题描述】:
我正在使用jQuery.ajax() 在我的网站上提交表单。我收到一个 .xml 响应,我想将它发送到一个 .php 文件。我尝试过使用另一个 jQuery.ajax() 函数:
<script type="text/javascript">
$(document).ready(function() {
$('#form').submit(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'myURL',
data: $('#form').serialize(),
success: function(xml)
{
$.ajax({
type: 'POST',
url: 'saveData.php',
data: {
xml: $(xml),
},
success: function(data) {
$('#output').html(data);
}
});
}
});
});
})
</script>
但我遇到了"Illegal invocation" 错误。所以我在我的内部 AJAX 函数中添加了processData: false。现在我得到另一个错误:Undefined index: xml in... 这是我的 PHP 代码:
<?php
$xml = $_POST['xml'];
?>
如何处理这个问题?
【问题讨论】:
-
你需要解析
XML的内容并将其转换为jquery/php可以接受的对象 -
为什么需要发送一个jquery对象:
xml: $(xml),?尝试剥离 jquery 对象表示法。xml: xml,. -
@Jai 试过了,还是出现这个错误。
-
$(xml) 返回空值,因此在 xml: $(xml) 中,您在变量 $_POST['xml'] 中发送空值。
-
@AntonioAlexandreAlonsodeSi 你怎么知道它是否返回 null?