本文的目的是介绍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)
- (POST) 的 POSTMAN API 请求不起作用
- Ajax POST不起作用/扭曲
- Android POST请求不起作用
- android测试app..toast不起作用
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 请求不起作用?
我是 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;
如您所见:
我无法通过 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不起作用/扭曲?
| 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放在其中,它将是一个根目录。
解决方法
<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请求不起作用
我正在这样做:
@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不起作用
我的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.
我无法打印“按下按钮”.
请帮忙!
解决方法
2)在eclipse菜单中:project->干净(你的项目)
关于PHP POST不起作用和php cannot post的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于(POST) 的 POSTMAN API 请求不起作用、Ajax POST不起作用/扭曲、Android POST请求不起作用、android测试app..toast不起作用的相关知识,请在本站寻找。
本文标签: