所以这个HTML代码为我提交了正确格式的数据.
<form action="https://www.example.com/register.php" method="post" enctype="multipart/form-data">
Name: <input type="text" name="userName"><BR />
Email: <input type="text" name="userEmail"><BR />
Password: <input type="text" name="userPassword"><BR />
Avatar: <input type="file" name="avatar"><BR />
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
我已经查看过很多关于如何在iOS上进行multipart/form-data POST的文章,但没有一篇真正解释如果有正常的参数以及文件上传怎么办.
你能帮我解决一下在Obj-C中发帖的代码吗?
谢谢!
我的控制器中有代码,如下所示:
[Route("api/deliveryitems/InsertIntoPPTData/{stringifiedRecord}")]
Run Code Online (Sandbox Code Playgroud)
......我正在通过Postman这样称呼它:
http://localhost:21609/api/deliveryitems/InsertIntoPPTData?
stringifiedRecord=serNum77;tx2;siteNum2;bla2.xml;ppt_user2;tx_memo2;file_beg2;file_end2
Run Code Online (Sandbox Code Playgroud)
......但得到:
{
Message: "No HTTP resource was found that matches the request URI
'http://localhost:21609/api/deliveryitems/InsertIntoPPTData? stringifiedRecord=serNum77;tx2;siteNum2;bla2.xml;ppt_user2;tx_memo2;file_beg2;file_end2'."
MessageDetail: "No type was found that matches the controller named 'deliveryitems'."
}
Run Code Online (Sandbox Code Playgroud)
以相同方式创建和调用的其他REST方法也很好 - 为什么不是这个?与其他人没有共同点的唯一事情是它是一个HttpPost,而其他的是HttpGet.这有什么不同吗?我正在从邮差下拉试图调用此方法REST时选择"邮报".
是的,它显然与它是一个Post并在URI中传递args无关,因为我现在使用HttpGet方法获得相同的东西:
{
Message: "No HTTP resource was found that matches the request URI
'http://localhost:21609/api/department/getndeptsfromid?firstId=2&countToFetch=12'."
MessageDetail: "No action was found on the controller 'Department' that matches the request."
}
Run Code Online (Sandbox Code Playgroud)
我从邮递员这样称呼它:
http://localhost:21609/api/department/getndeptsfromid?firstId=2&countToFetch=12
Run Code Online (Sandbox Code Playgroud)
......它确实出现在我的控制器中:
[HttpGet]
[Route("api/department/getndeptsfromid/{firstId}/{countToFetch}")]
public List<Department> GetNDepartmentsFromID(int FirstId, int CountToFetch)
{
return CCRService.GetNDepartmentsFromID(FirstId, …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种简单的方法来拦截Web请求并使用Fiddler修改请求的内容(主要是POST).
这是为了测试服务器端验证.
我必须使用Fiddler,但是我还没有找到一个简单的方法.
有几种记录的方法来编写脚本来拦截流量和更改标题,但我想在不编写脚本的情况下这样做 - 测试人员需要使用此工具,并且不同的测试人员可能一直在编写/修改脚本烦人.
例:
带2个参数的简单POST:
field1=foo,
field2=bar
Run Code Online (Sandbox Code Playgroud)
我想拦截请求,将field2的值修改为像bañ(注意ñ,在我的情况下是无效的,这就是我想要测试的).
我知道这听起来有点奇怪,但我需要将一些参数传递给$ _POST数组.类似于apache的方式,或任何其他Web服务器.
不幸的是我找不到libapache2-mod-php5我的Ubuntu.
首先:我是一名 C++ 开发人员,他参与制作 PHP 脚本(用于 paypal IPN)。
我对他缺乏来自贝宝和其他地方的良好工作样本感到非常沮丧。
最新的问题是我似乎没有得到任何我认为应该得到的 $HTTP_POST_VARS 项目。
一些在线搜索似乎表明这已被弃用或可配置等。
我不知道我的主机使用的是什么版本的 PHP。
很明显,要么我的测试应用程序没有正确发布,要么脚本不起作用。
所以: 2 个问题: - 有没有人有任何指向工作 IPN 脚本的链接?- $HTTP_POST_VARS 的废话是什么?
编辑
谢谢大家。我会尝试这些建议并尽快发布我的成功故事,我希望。
你好
我正在使用一个 php 页面,我需要在发布页面后保留复选框和单选按钮(选中或未选中)的值。
我怎么能做到呢?
谢谢
我想使用Request :: server('HTTP_HOST')来获取当前域-但是,当我从一个帮助器类中调用它时,它返回为'localhost',这不是我想要的。从控制器可以正常工作。有没有办法从帮助程序类中访问此信息?
助手类如下所示:
class ApiWrapper {
public static function call($model, $method='', array $input) {
$domain = Request::server('HTTP_HOST');
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个数组($ form)从$ _POST中检索一些信息:
$form = $_POST['game'];
Run Code Online (Sandbox Code Playgroud)
现在我想使用这个数组中的值,但我不知何故失败了.
为了调试我使用了这些命令(按照完全相同的顺序,中间没有额外的行):
print_r($form);
echo '#' . $form['System_ID'] . "#";
Run Code Online (Sandbox Code Playgroud)
作为返回的输出我得到:
Array
(
['Title'] => Empire: Total War - Special Forces
['Genre_ID'] => 1
['Type'] => Spiel
['System_ID'] => 1
)
##
Run Code Online (Sandbox Code Playgroud)
我的System_ID去过哪些想法?它在print_r中,但不在下一行中用于echo?!?
php ×4
http-post ×2
post ×2
arrays ×1
c# ×1
checkbox ×1
controller ×1
fiddler ×1
laravel-4 ×1
objective-c ×1
paypal ×1
paypal-ipn ×1
postman ×1
radio-button ×1
request-uri ×1
session ×1