ASP.NET,javascript AJAX的奇怪结果
ASP.NET, strange results from javascript AJAX
我测试了两种方法(服务器端和客户端),调用javascript AJAX将票证发布到网站,然后获得票证编号的链接以进行跟踪/编辑等$('#output').html(a);
。然而,他们两个得到了不同的结果。
点击服务器端按钮可以调用CreateIsm()
,得到票号为$('#output').html(a);
的链接,但无法得到并将textarea值传递给空或空的票号详细信息。AJAX下成功功能中的警报消息成功
点击客户端按钮可以调用CreateIsm()
,但无法获取票号链接,但可以获取并传递票号详细信息的textarea值。在AJAX下的成功函数中不会触发警报,我不知道为什么。有人知道为什么吗?
我希望结果是成功地从文本区域将信息传递到机票详细信息,并获得机票号码的链接。
这里有一个javascript函数,
<script>
// global variables
id = '<%= AD.NEAt.GetUserID().ToString() %>';
notes = '';
ismClassId = '';
caseType = '';
l1 = '';
l2 = '';
l3 = '';
// Create ISM Ticket
$('#ButtonRequest').click(function () {
//var textBox = document.getElementById('<%=txt.ClientID %>'); //This Freeze
//var textBox = document.getElementById('#txt'); //does not appear in ticket detail
//var textBox = $('<%=txt.ClientID %>').val(); //does not appear in ticket detail
//var textBox = "Please add the following DNS entries'n"; appear in ticket detail
ismClassId = 'DOW31038';
caseType = 'Request';
l1 = 'Request';
l2 = 'Network';
l3 = 'Static IP Address';
//This one worked for client side. To get ip and name!
notes = $('#txt').val();
$.support.cors = true;
$.ajax({
type: "POST",
url: "http://servername/Common/Components/ISM/SubmissionPage.aspx",
data: {
'Form_ID': '08.01.7',
'ISM_Class_ID': ismClassId,
'Case_Type': caseType,
'Level_1': l1,
'Level_2': l2,
'Level_3': l3,
'Case_Notes': notes,
'Contact_ID': id
},
success: function (data) {
//console.log(data);
alert("success function called");
var str = data;
var ticket = $(str).find("#ticketIDOutput").val();
var hreff = "http://servername/Form/SRApproval/SRApproval.aspx?ticketID=" + ticket;
var a = "<a href='" + hreff + "' target='blank'>" + ticket + "</a> created."
$('#output').html(a);
},
error: function (jqXHR, textStatus, errorThrown) {
$('#output').html("Error creating ISM ticket: " + textStatus + " - " + errorThrown);
}
});
});
</script>
当用户点击按钮时,C#服务器端执行
protected void ButtonRequest_Click(object sender, EventArgs e)
{
//more codes above
//ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "call", "<script>CreateIsm();</script>", false);
}
ASPX客户端在用户点击按钮时触发
<asp:Button ID="ButtonRequest" runat="server" onclick="ButtonRequest_Click" OnClientClick="return false" UseSubmitBehavior="false"
Text="Request" Visible="False" style="height: 26px" />
<br />
假设发送到票据详细信息的文本区域,
<asp:TextBox ID="txt" runat="server" visible="False" TextMode="MultiLine"
Width=356px Height=200px style="margin-left: 0px"></asp:TextBox>
$(str).find()我认为这一行没有任何意义。就在您所做的var str=data之上。。。为什么要在名为data/str的页面上查找项目???
另外,不要执行ScriptManager脚本附加。
在按钮上设置OnClientClick="return false"以防止回发,然后在jQuery中使用$(button).click()来执行AJAX。
相关文章:
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- 在foreach中获取ajax结果
- AJAX调用后Php结果未显示
- JQuery Deferred Ajax,将结果保存在调用对象中
- 使用blob从ajax结果下载文件
- Ajax/Php得到一个以上的结果
- javascript Ajax方法在不同的浏览器中有不同的结果
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 在文本框中显示ajax结果
- 无法在AJAX成功访问中显示JSON结果
- CKEDITOR在使用AJAX保存时无法发布结果
- Ajax 不返回任何结果
- 正确显示从 ajax 请求到 html 的结果
- 使用 AJAX 在页面加载时自动提交表单并获得 html 类型结果
- 无需重新加载即可播放MySQL结果.AJAX 正在失败
- 从回调函数返回 AJAX 结果
- GoogleMapsForRails-只有在搜索结果发生变化时才通过ajax更新标记
- 第二个Ajax调用已经填充了成功结果
- Symfony2过滤结果- ajax请求的问题
- 实时加载结果(ajax)