我正在尝试学习使用AJAX。我删除了程序的大部分复杂性,以便找出我遇到的问题。所以我有一个文本区域,下面是一个打印出“STATUS”的div。在使用AJAX提交按钮时,我想将单词“STATUS”更改为我的变量status的值,在这种情况下应该是“SUCCESS”。
当我点击它时会发生什么,它打印出单词STATUS。当我点击我的提交按钮时似乎没有发生任何事情。我有什么想法吗?
$(document).ready(
function () {
$('#sub').live('click',
function () {
url = 'http://whatever.php'
success = "Success!"
$.ajax({
url: url,
type: 'POST',
data: null
dataType: 'xml',
async: false,
success: function (data, statusText, reqObj) {
status = $(data).find('status').text()
if (status == 'SUCCESS') {
$('#succ').html(status)
} //if( status == 'SUCCESS' ) {
else {
msg = $(data).find('msg').text()
alert('NOT ADDED: ' + msg)
return
} // else
} //function()
}) //$.ajax( {
} /* function */ ) //live(
} //function()
) //$(document).ready
HTML:
<div id="buttonArea">
<textarea name="txtarea" cols=80 rows=30>>THIS TEXT BOX
IS USED FOR THINGS I WILL WORK ON LATER
</textarea><br/>
<input type=submit value='Submit Textbox Info!' id='sub'>
</div>
<div class="float-left" id='succ'>STATUS</div>
答案 0 :(得分:0)
我认为你的发现是空洞的。尝试用
替换status = $(data).text()
答案 1 :(得分:0)
我不确定你是否正确使用.find()。它用在html元素上,并期望传递一个jquery选择器或元素或jquery对象。
这里有更多详情http://api.jquery.com/find/
您想要的是获取您的回复文本,因此请将ajax调用分配给变量:
xmlhttp = $.ajax({
然后成功使用您的回复文本:
status = xmlhttp.responseText;
答案 2 :(得分:0)
您的代码适用于我,条件是:
(i)从行中添加缺少的逗号:
data:null,
(ii)php处理程序返回的内容类型是text / xml