GVKun编程网logo

PHP POST不起作用(php cannot post)

23

本文的目的是介绍PHPPOST不起作用的详细情况,特别关注phpcannotpost的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解PHPPOST不起作用的机会,同时

本文的目的是介绍PHP POST不起作用的详细情况,特别关注php cannot post的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解PHP POST不起作用的机会,同时也不会遗漏关于(POST) 的 POSTMAN API 请求不起作用、Ajax POST不起作用/扭曲、Android POST请求不起作用、android测试app..toast不起作用的知识。

本文目录一览:

PHP POST不起作用(php cannot post)

PHP POST不起作用(php cannot post)

单击提交时,此代码应打印在文本框name =“ ss”中输入的内容。
但是它不打印。使用method =“ get”但不使用post,这是什么问题。

答案1

小编典典

如果您只是刷新页面,请执行以下操作:

action=''''

代替:

action="<?php echo $_SERVER[''PHP_SELF''];?>"

另外,将其添加到第2行以查看$ _POST数组中存储了什么(如果有的话):

var_dump( $_POST );

嗯…所以提交时是空的?尝试将其添加到您的php文件的顶部:

if(empty($_SERVER[''CONTENT_TYPE''])){   $_SERVER[''CONTENT_TYPE''] = "application/x-www-form-urlencoded"; }

好的,现在检查您的php.ini(通常在/ etc中需要sudo或root):

post_max_size = 8Mvariables_order = "EGPCS"

您是否设置了这两个规则?如果是这样,请注意要分配多少内存。取决于系统规格,任何超过2048MB的空间都可能给您带来麻烦。

注意:如果您对php.ini文件进行了更改并且PHP正在作为apache模块运行,则需要重新启动apache。类似于以下内容:

sudo /etc/init.d/httpd restart

(POST) 的 POSTMAN API 请求不起作用

(POST) 的 POSTMAN API 请求不起作用

如何解决(POST) 的 POSTMAN API 请求不起作用?

我是 node.js 的新手,遇到了一些错误。我试图在 Postman 上发送一个 POST 请求,但它给了我空白,里面没有数据。而且我检查了我的数据是否有效然后我得到了,我发送的数据是有效的。有人可以推荐我吗?

这是我的索引文件(index.js):

   const express = require("express");
   const app = express();
   const dotenv = require("dotenv");
   const mongoose = require("mongoose");

   //Import Routes
   const authRoute = require("./routes/auth");
   const postRoute = require("./routes/posts");

   dotenv.config();

   //connect to DB
   mongoose.connect(
     process.env.DB_CONNECT,{ useNewUrlParser: true,useUnifiedTopology: true,useCreateIndex: true },() => console.log("connected to DB!!")
   );

   //Middleware
   app.use(express.json());
   //Route Middlewares
   app.use("/api/user",authRoute);
   app.use("/api/posts",postRoute);

   //PORT NUMBER
   const port = process.env.PORT || 8080; // default port to listen

   // start the Express server
   app.listen(port,() => {
     console.log(`server started at http://localhost:${port}`);
   });

这是我的身份验证文件(auth.js):

const router = require("express").Router();
const User = require("../model/User");
const jwt = require("jsonwebtoken");
const bcrypt = require("bcryptjs");
const { registerValidation,loginValidation } = require("../validation");

//REGISTER
router.post("/register",async (req,res) => {
  console.log("register");
  //Lets validate a data before we make a user
  const { error } = registerValidation(req.body);
  if (error) return res.status(400).send(error.details[0].message);

  //Checking if the user is already in the database
  const emailExist = await User.findOne({ email: req.body.email });
  if (emailExist) return res.status(400).send("Email Already Exists");

  //HASH THE PASSWORD
  const salt = await bcrypt.genSalt(10);
  const hashedPassword = await bcrypt.hash(req.body.password,salt);

  //Create a New User
  const user = new User({
    name: req.body.name,email: req.body.email,password: hashedPassword,});

  try {
    const savedUser = await user.save();
    res.send({ user: user._id });
  } catch (err) {
    res.status(400).send(err);
  }
});

//LOGIN
router.post("/login",res) => {
  //Lets validate a data before we make a user
  const { error } = loginValidation(req.body);
  if (error) return res.status(400).send(error.details[0].message);

  //Checking if the email exists in the database
  const user = await User.findOne({ email: req.body.email });
  if (!user) return res.status(400).send("Email is Not Found");

  //Check if password is correct
  const validPass = await bcrypt.compare(req.body.password,user.password);
  if (!validPass) return res.status(400).send("Invalid Password");

  //Create  and assign a Token
  const token = jwt.sign({ _id: user._id },process.env.TOKEN_SECRET);
  res.header("auth-token",token).send(token);
});

module.exports = router;

如您所见:

image

我无法通过 POST 请求发送数据和获取数据,数据库也已连接。

解决方法

试试console.log(req.body)。 如果您的 req.body 为空,那么您需要在中间件(index.js 文件)中添加一个包 body-parser

const bodyParser = require(''body-parser'');
app.use(bodyParser.urlencoded({ extended: true }));

Ajax POST不起作用/扭曲

Ajax POST不起作用/扭曲

如何解决Ajax POST不起作用/扭曲?

| twisted.web和AJAX 类似的线程已经退出。我什至从那里获取了代码,但是我遇到了同样的问题,扭曲的服务器就像一个咒语,但是无法弄清楚为什么我无法使用Ajax来获取它。在类似的话题中,他说警报发出了,但是没有数据。对我来说,甚至不会弹出警报,但另一个ajax函数也可以正常工作,因此,一般而言,使用ajax都可以,但是在获取某些内容时却出现了问题。 就像在类似线程中所说的那样,我可以用curl-
$ curl --url http://localhost:8082/test -v
来获取它,并且它显示了hello世界,因此服务器可以100%正常工作。 有任何想法吗 ?
<script type=\"text/javascript\">
// Submit button
$(function(){
  $.ajax({type: \"POST\",$(\''a\'').click(function(){
        url: \"http://localhost:8082/test\",data: {},success: function(data) {alert(\"Success:\" + data);}
    });
  });
});
</script>

<html>
[...]
  <a href=\"#\">Load Favorites Movies</a>...
[...]
</html>
server.py
from twisted.web import server,resource,http

class RootResource(resource.Resource):
    def __init__(self):
        resource.Resource.__init__(self)
        self.putChild(\''test\'',TestHandler())

class TestHandler(resource.Resource):
    isLeaf = True

    def __init__(self):
        resource.Resource.__init__(self)
    def render_GET(self,request):
        return self.render_POST(request)
    def render_POST(self,request):
        return \"Hello World!\"

if __name__ == \"__main__\":
    import sys
    from twisted.internet import reactor
    reactor.listenTCP(8082,server.Site(RootResource()))
    reactor.run()
非常感谢Peter Le Bek和Darkporter。 Peter Le Bek asnwer被标记为正确,而Darkporter从我这里投赞成票=)。 答案:Peter的答案开箱即用,只是让我感到困惑的是line,您必须在其中指定静态文件夹。这很容易...只要在其中访问任何文件夹,将其中的文件夹分隔开,然后将index.html放在其中,它将是一个根目录。     

解决方法

您的Javascript已损坏,请尝试以下操作: wwwdir / index.html
<html>
 <head>
  <script src=\"http://code.jquery.com/jquery-1.5.2.min.js\"></script>
 </head>
 <body>
  <a href=\"#\">click me</a>
  <script type=\"text/javascript\">
   $(\''a\'').click(function(){
    $.ajax({type: \"POST\",url: \"http://localhost:8082/test\",data: {},success: function(data) { alert(\"Success: \" + data); }
    });
   });
  </script>
 </body>
</html>
您可能仍然会满足darkporter提到的跨域HTTP请求限制,以解决使用同一台Twisted服务器为您的网页提供服务的问题: server.py
from twisted.web import server,resource,http,static

class TestHandler(resource.Resource):
    isLeaf = True

    def __init__(self):
        resource.Resource.__init__(self)
    def render_GET(self,request):
        return self.render_POST(request)
    def render_POST(self,request):
        return \"hello world!\"

if __name__ == \"__main__\":
    import sys
    from twisted.internet import reactor

    root = static.File(\''/path/to/wwwdir\'')
    testHandler = TestHandler()
    root.putChild(\''test\'',testHandler)
    reactor.listenTCP(8082,server.Site(root))
    reactor.run()
    ,您的JavaScript所驻留的页面是否在同一主机和端口上投放?如果没有,您将遇到跨域问题。     

Android POST请求不起作用

Android POST请求不起作用

我正在这样做:

@Override
protected Void doInBackground(String... strings) {

    try {
        String query = "username=" + strings[0] + "&duration=" + strings[1] + "&distance=" + strings[2];
        URL url = new URL(scoresActivity.URL);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        Writer writer = new OutputStreamWriter(conn.getoutputStream());
        writer.write(query);
        writer.flush();
        writer.close();
        /*conn.addRequestProperty("username", strings[0]);
        conn.addRequestProperty("duration", strings[1]);
        conn.addRequestProperty("distance", strings[2]);*/
        Log.v(TAG, strings[0] + " - " + strings[1] + " - " + strings[2]);
        //conn.connect();
    } catch(Exception e) {
        Log.e(TAG, "exception", e);
    }

    return null;
}

但该请求仅在服务器上不起作用…在服务器上,我应该看到发送的数据,但看不到它们

我也试过这个:

curl -XPOST --data "username=duri&duration=600&distance=555" http://someurl.com/

而且有效…可能是什么问题?

解决方法:

嘿,尝试使用这种语法.

@Override
        protected String doInBackground(String... params) {

            String urlString = params[0];
            String userName = params[1];
            String password = params[2];
            URL url = null;
            InputStream stream = null;
            HttpURLConnection urlConnection = null;
            try {
                url = new URL(urlString);
                urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("POST");
                urlConnection.setDoOutput(true);

                String data = URLEncoder.encode("userName", "UTF-8")
                        + "=" + URLEncoder.encode(userName, "UTF-8");

                data += "&" + URLEncoder.encode("password", "UTF-8") + "="
                        + URLEncoder.encode(password, "UTF-8");

                urlConnection.connect();

                OutputStreamWriter wr = new OutputStreamWriter(urlConnection.getoutputStream());
                wr.write(data);
                wr.flush();

                stream = urlConnection.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"), 8);
                String result = reader.readLine();
                return result;

            } catch (IOException e) {
                e.printstacktrace();
            } finally {
                if (urlConnection != null) {
                    urlConnection.disconnect();
                }
            }

            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printstacktrace();
                Log.i("Result", "SLEEP ERROR");
            }
            return null;
        }

希望这可以帮助.

android测试app..toast不起作用

android测试app..toast不起作用

我是 android的新手并试图创建一个小应用程序.

我的java文件:

//creating object for imagebutton class
ImageButton mainButton = (ImageButton) findViewById(R.id.imageButtonone);

 //creating onclick listener
mainButton.setonClickListener(new OnClickListener() {

@Override
    public void onClick(View v) {
    //show message
        Toast toast = Toast.makeText(SkeletonActivity.this,"Button pressed",Toast.LENGTH_LONG);
        toast.show(); 
    }
});

XML:

<ImageButton android:id="@+id/imageButtonone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/dog8" />

其中imageButton的id = imageButtonone.

我无法打印“按下按钮”.
请帮忙!

解决方法

1)也许你的代码没有达到onClick方法.检查你的mainButton是否为null.

2)在eclipse菜单中:project->干净(你的项目)

关于PHP POST不起作用php cannot post的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于(POST) 的 POSTMAN API 请求不起作用、Ajax POST不起作用/扭曲、Android POST请求不起作用、android测试app..toast不起作用的相关知识,请在本站寻找。

本文标签: