Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从servlet中获取字符串并在ajax函数中使用它_Javascript_Java_Jquery_Ajax_Servlets - Fatal编程技术网

Javascript 如何从servlet中获取字符串并在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",

我有一个servlet,其中包含一个字符串,后者是一个包含多个条目的JSON字符串。现在我想通过jQuery使用ajax访问这个字符串。现在,如果我的函数:

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);