发布后自动生成查询字符串的ajax

时间:2019-01-10 05:52:55

标签: jquery ajax asp.net-mvc

我正在将ajax请求发送到mvc控制器,但是请求完成后,查询字符串会附加到我的url奇怪的行为或我丢失了某些内容。 我的jQuery代码。

pom.xml

该视图具有带有onclick功能的html按钮

maven-resources-plugin

我的MVC网址在请求之前 http://localhost:4149/Student 请求后我的MVC网址 http://localhost:4149/Student?firstname=martin&gender=male

我不知道为什么在ajax调用后附加查询字符串。 我的MVC控制器代码。

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <id>copy-resources</id>
            <!-- here the phase you need -->
            <phase>validate</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.basedir}/sub-project2/sub-project2-web/src/main/resources</outputDirectory>
                <resources>
                    <resource>
                        <directory>${project.basedir}/src/non-packaged-resources</directory>
                        <filtering>true</filtering>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

1 个答案:

答案 0 :(得分:0)

实际上,您的按钮类型为submit,并且在同一按钮上具有onclick处理程序,并且您正在尝试在该处理程序中处理表单提交。对吧?

尽管您的按钮单击处理程序开始执行,但您的按钮类型为submit,因此您的HTML Form将被提交,这就是浏览器URL更改的原因。

有两种解决方法。或者将您的onsubmit事件挂在HTML Form上,并在处理程序中并返回false,这样它就不会提交表单,然后您的按钮处理程序将使用ajax发布数据,或者另一个是更改按钮从submitbutton

<button type="button" class="btn btn-success" onclick="addstudent()" id="insertbtn">Sign in
</button>

希望有帮助。