3

如果我有以下格式的经典 ASP 响应:

someJsFunctionName({"0":{"field1":0,"field2":"","field3":0,"field4":2,"field5":1,"field6":1}});

那是用

response.write "someFunctionName(" 
someMethod(param1, param2).Flush
response.write ");"

如果我想在响应中插入一个新字段

someJsFunctionName({"0":{"field1":0,"field2":"","field3":0,"field4":2,"field5":1,"field6":1, "field7":2}});

我可以调用类似的方法吗

response.replace("}});", "\"field7\":2}});")

?
或者我是否必须清除整个响应才能将新字符串写入其中?在将其写入响应之前,
我是否必须跟踪、修改该字符串的结果?someMethod(param1, param2).Flush

4

1 回答 1

3

我看不出您有任何需要直接输出到Response缓冲区,要明确的是,您只能操作Response缓冲区直到您Call Response.Flush()清除缓冲区并写入标头。到那时,您仍然Call Response.Clear()可以在不写入缓冲区的情况下清空缓冲区,然后再次使用Call Response.Write("yourstring").

我看不到需要这样做的原因是因为您可以通过简单地将字符串分配给构建它的变量(Replace()如果您愿意,可以使用它)然后Call Response.Write(yourstringvariable)输出它来获得相同的效果。

Dim myfunc

myfunc = "someFunctionName("
'someMethod should return a string
myfunc = myfunc & someMethod(param1, param2)
myfunc = myfunc & ");"

Call Response.Write(myfunc)
于 2014-03-14T16:57:25.310 回答