没有反馈PHP和AJAX" POST"

时间:2016-11-15 04:10:13

标签: javascript php ajax

单击按钮后,页面上根本没有响应。

我使用post方法获取ajax文件中的变量。这是代码。

original.php 是包含获取值的表单的文件,并将其发送到ajax文件。

stockProcess.php 是运行sql进程以更新数据库中的股票的ajax文件。

original.php

import org.junit.Test;
import org.junit.runner.RunWith;

import android.content.ContentProvider;
import android.database.Cursor;
import android.net.Uri;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.filters.LargeTest;
import android.test.ProviderTestCase2;
import android.support.test.InstrumentationRegistry;
import android.test.mock.MockContentResolver;

import com.bus.proj.data.DogContract;
import com.bus.proj.data.DogProvider;

@RunWith(AndroidJUnit4.class)
@LargeTest
public class ContentProviderTest extends ProviderTestCase2<DogProvider>{

    public ContentProviderTest() {
        super(DogProvider.class, DogContract.CONTENT_AUTHORITY);
    }

    @Override
    protected void setUp() throws Exception{
        setContext(InstrumentationRegistry.getTargetContext());
        super.setUp();
    }

    @Test
    public void emptyQuery(){
        MockContentResolver contentResolver = getMockContentResolver();
        assertNotNull(contentResolver);//fail happens here
        Uri uri = DogContract.DogEntry.CONTENT_URI;
        Cursor cursor = contentResolver.query(uri,null,null,null,null);
    }

}

stockProcess.php

<div id='status'></div>

<input type='number' name='quantity' style='max-width:50px' id='quantity'/>

<button class='btn btn-xs btn-success' onClick='add('pen100')'>
    <i class='ace-icon fa fa-plus bigger-120'></i>
</button>

<script type="text/javascript">
function add(serialNo)
{
    var quantity = document.getElementById("quantity").value;
    var type = "add";

    if (quantity == null)
    {
        document.getElementById("status").innerHTML = "<p><b><font color='red'>PLEASE INPUT A VALUE</font></b></p>";
    }
    else if (quantity < 0)
    {
        document.getElementById("status").innerHTML = "<p><b><font color='red'>WRONG VALUE<br />PLEASE ENTER VALUE LARGER THAN 0</font></b></p>";
    }
    else
    { 
        if (window.XMLHttpRequest)
        {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        }
        else
        {
            // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function()
        {
            if (this.readyState == 4 && this.status == 200) 
            {
                document.getElementById("status").innerHTML = this.responseText;
            }
        };
        xmlhttp.open("POST","stockProcess.php?serialNo="+serialNo+"&quantity="+quantity+"&type="+type, true);
        xmlhttp.send();
    }
}
</script>

4 个答案:

答案 0 :(得分:0)

此行中有错误:

<button class='btn btn-xs btn-success' onClick='add('pen100')'>

只需更改以下代码:

<强> onClick="add('pen100')"

答案 1 :(得分:0)

使用POST时,您必须通过将其作为参数传递给send()来发送请求正文中的数据。同时设置Content-type和其他标题

var payLoad = "serialNo="+serialNo+"&quantity="+quantity+"&type="+type;

xmlhttp.open("POST","stockProcess.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); //mandatory header
xmlhttp.setRequestHeader("Content-length", payLoad.length); //recommended headers
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(payLoad); //send

答案 2 :(得分:0)

我通常使用AJAX native来进行不可刷新的表单POST,而且我不熟练使用AJAX。我只想尝试使用它。

实际上我追逐截止日期来完成项目,所以只需将其更改为正常形式的POST。

代码是

original.php

<form method="POST" action="stockProcess.php">
//Button and Input number will be write here.
</form>

索里为所有的麻烦。 ^ _ ^

答案 3 :(得分:-1)

尝试此代码:

 cmp    ax, bx      
 jl     Less  
 mov    word [X], 1    
 jmp    Both            
Less: 
 mov    word [X], -1  
Both: