单击网站上的按钮会打开一个小弹出窗口。如果我在HttpFox中看到的帖子参数是JSON。
我对javascript和AJAX的了解是zilch。单击有问题的按钮时,将调用函数Eam.Ooba.Entry()。
有人可以解释一下以下功能正在尝试做什么:
__ EAMSTATE - 是一个发布参数。
Eam.Ooba.Entry = function ()
{
Eam.Ooba.Open.Current = null;
Eam.Prev.length = 0;
Eam.Ooba.Open();
};
Eam.Ooba.Open = function ()
{
var request = new Object();
request.State = Eam.GetState();
var dto = { 'request': request };
$.ajax({ url: "OOBAStart.aspx/OobaOpen", data: JSON.stringify(dto) })
.done(function (msg) { Eam.Ooba.Render(msg, "Eam.Ooba.Open();");
Eam.Ooba.Open_SuccessCallBack(); }).fail(function (msg) { Eam.Dialog.AjaxFailCallback(); });
};
Eam.GetState = function ()
{
if ($("#__EAMSTATE").length > 0) return $("#__EAMSTATE").val();
else return null;
};
由于我无法发布httpfox的图片,我也无法回答,这就是在PostData数据窗口下的httpfox中的样子:
{"request":{"State":"yNNZQG3MCaqYfaU zYaAfF3mjpBqbUjkIP6gNJAmZfrLkq2UN6kpZEqXGM77Reo2cpSuEcrgh6/jLD 5dWGree0TNGw 2z7V0KhhMGm/3xaf8YwX10YI6rBLyGIBHIrHU1Z0bpq2kTT1TwEgICdPTfFc4i/wbliNMH8zRF U6ihoDGUjvqE/AfeCHKVIVRGeX8jCY57JuEtCmK5qKfTpxEukTnKmYI17ng9OlPQZFZfMSDPcz1nj eUU5LbSmxtDNXdMHROTTiNGR6BZqjSUGKgJ/iczaTFAAsICSikDpXK1lUfMOCgmAFuMwIihDcizkH9 kx ikdNqxGNRw4GpY9MSuzchfbxxpNRxzeGS/mTmS6fX2 5zTEjHpH61smEvsU8Rd6oiQLZVYXJa4q798fk IsnDvFJqDjCPFh pEr0a6RjrGp1FyY6HU/xOPj08Bm9OGwl4G/XG2Mm3FUHO/xSUiYZyB4kgp4Di5Vx/EaoOaW5PJJrj9O wyQLVNpofC8F NFzd59Rmbrexe0c6R8T/O6ihw4mxyH9W2tw/H31TL4Y3IzvpXCLqyOFZGahwmaGmfxH6zmYncoLZ0TnWo59LKfqEbE5cUpTGn8iLliwd//E1Sr5Ogiw8P9eb9Wo5pSftA
在“标题”标签下: (请求行)/OOBAStart.aspx/OobaOpen
这就是它在HTTPFox中的样子。我试图通过脚本做同样的发布。但我没有得到“State:”的价值,我在HttpFox中看到源文件中的任何地方。我在源文件中看到的只是参数__EAMSTATE的值,它有点类似于State:但不完全相同。那是因为__EAMSTATE是通过JSON.stringify()方法序列化的,我在这里是否正确?
如果我正确并且我必须使用Java将__EAMSTATE的String值从源文件转换为JSON对象,那么我想我可以使用以下内容:
String s1 = new String("__EAMSTATE value")
Gson gson = new Gson();
String json = gson.toJson(s1);
答案 0 :(得分:0)
此函数调用AJAX请求,如果一切正常,则调用:
Eam.Ooba.Render(msg, "Eam.Ooba.Open();");
我们没有这个代码,我想它会在弹出窗口中显示一些数据。