Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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中异步更新动态生成的HTML控件_Javascript_Web Services - Fatal编程技术网

如何在Javascript中异步更新动态生成的HTML控件

如何在Javascript中异步更新动态生成的HTML控件,javascript,web-services,Javascript,Web Services,我有一个方法getTextContent,它将通过用户的单击间接调用(方法getTextContent被传递给一个API函数,该函数用一些事件注册它) 该方法返回一个字符串,该字符串只是一个HTML字符串,然后在API生成的控件中显示给用户 我想做的是异步更新其中一个HTML控件。我相信我可以使用该ID创建一个唯一的ID和HTML控件的名称,以供alter引用 我的问题是:如何将唯一ID传递给Web服务的return/success方法(SucceededCallback) Webservice

我有一个方法
getTextContent
,它将通过用户的单击间接调用(方法
getTextContent
被传递给一个API函数,该函数用一些事件注册它)

该方法返回一个字符串,该字符串只是一个HTML字符串,然后在API生成的控件中显示给用户

我想做的是异步更新其中一个HTML控件。我相信我可以使用该ID创建一个唯一的ID和HTML控件的名称,以供alter引用

我的问题是:如何将唯一ID传递给Web服务的return/success方法(
SucceededCallback

Webservice1.Foo(param1, SucceededCallback, FailedCallback);
所以我有一个函数,比如

function SucceededCallback(result, uniqueID) {
   document.getElementById(uniqueID).value = result;
}
我想我可以创建一个全局变量,但这似乎不合适,您可以使用它将上下文绑定到函数

Webservice1.Foo(param1, SucceededCallback.bind(uniqueID), FailedCallback.bind(uniqueID));
那么,功能将是:

function SucceededCallback(result) {
    document.getElementById(this).value = result;
}
或者你可以使用一个闭包:

Webservice1.Foo(param1, function(result) {
    SucceededCallback(result, uniqueID);
}, function(result) {
    FailedCallBack(result, uniqueID);
});
另外,您可以传递DOM元素本身,而不是传递ID,因此不必调用
getElementById