相关疑难解决方法(0)

PHP多部分表单数据PUT请求?

我正在编写一个RESTful API.我使用不同的动词上传图片时遇到问题.

考虑:

我有一个对象可以通过post/put/delete/get请求创建/修改/删除/查看到URL.当有文件要上传时,请求是多部分形式,或者当只有文本要处理时,请求是application/xml.

要处理与对象关联的图像上传,我正在执行以下操作:

    if(isset($_FILES['userfile'])) {
        $data = $this->image_model->upload_image();
        if($data['error']){
            $this->response(array('error' => $error['error']));
        }
        $xml_data = (array)simplexml_load_string( urldecode($_POST['xml']) );           
        $object = (array)$xml_data['object'];
    } else {
        $object = $this->body('object');
    }
Run Code Online (Sandbox Code Playgroud)

这里的主要问题是当尝试处理put请求时,显然$ _POST不包含put数据(据我所知!).

作为参考,我正在构建请求:

curl -F userfile=@./image.png -F xml="<xml><object>stuff to edit</object></xml>" 
  http://example.com/object -X PUT
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法如何xml在我的PUT请求中访问变量?

php rest curl codeigniter http

12
推荐指数
2
解决办法
2万
查看次数

Symfony2 - Ajax搜索

我正在开发一个Symfony2项目,我有一个用户实体,我需要一个ajax搜索栏来搜索我的用户.问题是在我的AJAX响应中,控制器由于某种原因返回数据库中的所有用户.

JS

$('#search').keyup(function() {

     searchText = $(this).val();

     $.ajax({
        type: "GET",
        url: "/Apana/web/app_dev.php/search",
        dataType: "json",
        data: {searchText : searchText},
        success : function(response) 
          {
                console.log(response);
          }
    });
});
Run Code Online (Sandbox Code Playgroud)

控制器

    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

use Symfony\Component\Serializer\Serializer;
use Symfony\Component\Serializer\Encoder\XmlEncoder;
use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;

use Apana\Bundle\MainBundle\Entity\User;

class SearchController extends Controller
{

    public function liveSearchAction(Request $request)
    {

        $string = $this->getRequest()->request->get('searchText');
        //$string = "alfa";
        $users = $this->getDoctrine()
                     ->getRepository('ApanaMainBundle:User')
                     ->findByLetters($string);

        //return users on json format

        $encoders = array(new XmlEncoder(), new JsonEncoder());
        $normalizers = array(new GetSetMethodNormalizer());
        $serializer …
Run Code Online (Sandbox Code Playgroud)

php ajax symfony doctrine-orm

4
推荐指数
1
解决办法
3865
查看次数

标签 统计

php ×2

ajax ×1

codeigniter ×1

curl ×1

doctrine-orm ×1

http ×1

rest ×1

symfony ×1