Javascript 如何从servlet中获取字符串并在ajax函数中使用它
我有一个servlet,其中包含一个字符串,后者是一个包含多个条目的JSON字符串。现在我想通过jQuery使用ajax访问这个字符串。现在,如果我的函数:Javascript 如何从servlet中获取字符串并在ajax函数中使用它,javascript,java,jquery,ajax,servlets,Javascript,Java,Jquery,Ajax,Servlets,我有一个servlet,其中包含一个字符串,后者是一个包含多个条目的JSON字符串。现在我想通过jQuery使用ajax访问这个字符串。现在,如果我的函数: function myFunction() { $("#myButton").click(function() { $.ajax({ url: // servlet, type: "GET", dataType : "text",
function myFunction() {
$("#myButton").click(function() {
$.ajax({
url: // servlet,
type: "GET",
dataType : "text",
success: function() // I want to display the string from the servlet,
error: // stuff
// other code
不管怎样,我该怎么做。我还可以在成功部分放置另一个函数而不是匿名函数吗
我想显示servlet中的字符串
您的方法有一个参数data
success: function(data){ alert( data ); }
我还可以在成功部分放置另一个函数,而不是
匿名函数
您可以传递要在
成功
或错误
上执行的函数表达式。成功回调的第一个参数是通过服务器发送的response
试试这个:
function successgoesher(响应){
控制台日志(响应);
}
函数errorgoesher(err){
控制台日志(err);
}
函数myFunction(){
$(“#我的按钮”)。单击(函数(){
$.ajax({
url:“你的url”,
键入:“获取”,
数据类型:“文本”,
成功:成功歌希尔,
错误:errorgoesher
})
})
}
当您在
ajax config
中传递dataType:“text”
时,响应将始终是纯文本,以防您希望它是json
,您的响应将是json的字符串表示形式,因此您必须使用json.parse(response)对其进行解析
获取JSON对象
这就是您要寻找的吗
function getString(url, handleResponse, handleFailure) {
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.onload = function () {
if (request.status >= 200 && request.status < 400) {
if (handleResponse) {
handleResponse(request.responseText);
}
} else {
if (handleFailure) {
handleFailure(request.status);
}
}
};
}
函数getString(url、HandlerResponse、handleFailure){
var request=new XMLHttpRequest();
打开(“获取”,url,true);
request.onload=函数(){
如果(request.status>=200&&request.status<400){
if(HandlerResponse){
HandlerResponse(request.responseText);
}
}否则{
if(handleFailure){
handleFailure(请求状态);
}
}
};
}
这只是从URL获取一个字符串(无JQuery)使用ajax请求成功:函数(resp){ 用于解析json和显示已解析json的代码 //var json=$.parseJSON(数据); }
namedFunction(data)
将在解析该行代码时调用/执行。我想需要传递函数表达式data
将是回调函数的第一个参数,因此无需传递data
以防您将要在匿名函数中写入namedFunction(data)
。问题中标记了jQuery。有什么理由在jQuery上使用普通JS ajax语法吗?没有什么特别好的理由,只是一个替代解决方案。
function getString(url, handleResponse, handleFailure) {
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.onload = function () {
if (request.status >= 200 && request.status < 400) {
if (handleResponse) {
handleResponse(request.responseText);
}
} else {
if (handleFailure) {
handleFailure(request.status);
}
}
};
}
var callback = function(data, textStatus, xhr)
{
alert(data + "\t" + textStatus);
}
var testman = function(str, cb) {
var data = 'Input values';
$.ajax({
type: 'post',
url: '',// servlet
data: data,
success: cb
});
}
testman('Hello, Dear', callback);