小编pab*_*gdt的帖子

如何在HTML单元中获取Ajax响应(它呈现网页的HTML)

我有一个Web应用程序,当我向服务器发出AJAX请求以进行CRUD操作时返回JSON.这是因为我使用jQuery来处理数据而不刷新页面(MVC),所以如果我在系统中创建一个新条目,服务器将返回一个响应,该响应具有JSON格式的创建条目.jQuery管理收到的数据并在列表中呈现条目(使用先前创建的条目).

现在我用HTML单元测试它,但是如果我尝试的话

WebResponse response = page.getWebResponse()
Run Code Online (Sandbox Code Playgroud)

我得到200状态并且消息"OK".但我期待着我创建的条目的JSON数据.

如果我试试

page.asText()
Run Code Online (Sandbox Code Playgroud)

我得到当前页面的HTML(条目已经在列表中,但不是我想要的数据).

这是一个类似的问题,没有回应:Json ajax调用返回响应200 ok

PD:jQuery表单有两个字段,一个是名称的文本输入,另一个是汽车设置的选择.我将要选择的设置列表传递给此函数.使用时间戳和静态int种子自动生成名称.这是我正在使用的代码:

public void create(List<Settings> settings) throws FailingHttpStatusCodeException, MalformedURLException, IOException
{
    page = webClient.getPage("localhost:8080/cars/list");

    int elementsCount = getEntitiesCount();
    creationSeed = elementsCount+1;

    HtmlAnchor anchor = (HtmlAnchor) page.getFirstByXPath("//a[@class='action-createCar']");
    page = (HtmlPage) anchor.click();

    HtmlForm form = page.getFirstByXPath("//form[@class='CarsForm']");
    form = page.getForms().get(0);
    HtmlTextInput nameField = form.getInputByName("CarsForm-name");
    nameField.setText("Test " + creationSeed + " - " + new Date().getTime());

    HtmlSelect columnSelectList = (HtmlSelect) form.getSelectByName("CarsForm-settings");
    if (settings != null && settings.size() > 0)
        for (Settings …
Run Code Online (Sandbox Code Playgroud)

testing ajax jquery json htmlunit

2
推荐指数
1
解决办法
4216
查看次数

标签 统计

ajax ×1

htmlunit ×1

jquery ×1

json ×1

testing ×1