一旦你写完它就可以改变经典的ASP响应吗?

时间:2014-03-14 15:30:51

标签: asp-classic response response.write

如果我有以下格式的经典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的结果,在将其写入响应之前修改该字符串?

1 个答案:

答案 0 :(得分: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)