Проблема с JSON передачей строк вроде // или # - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь отправить запрос топора ios, который содержит список параметров из JSON.stringify:

axios
      .post('../procesarProductos/2/'+JSON.stringify({
                                    id: this.id,
                                    cantidad: this.cantidad,
                                    nombre: this.nombre,
                                    precioventa: this.precioventa,
                                    precioproveedor: this.precioproveedor,
                                    imgurl: this.imgurl
                                    })+'/0/'+this.idafiliado) //Filtros
      .then(response => (this.productos = response.data))
      this.limipiar();
      swal("El producto ha sido actualizado", "", "success");

Файл PHP, который у меня есть:

$elProducto = json_decode($params);
            $id=$elProducto->id;
            $nombre=$elProducto->nombre;
            $precioventa=$elProducto->precioventa;
            $precioproveedor=$elProducto->precioproveedor;
            $imgurl=$elProducto->imgurl;
            $cantidad=$elProducto->cantidad;
            $producto->modificarProducto($id,$idafiliado,$nombre,$precioventa,$precioproveedor,$imgurl,$cantidad);
            return $producto->listarProductos($idafiliado);

Проблема в том, что когда я получил строку с // или # JSON, не работает, или я не уверен, что я так думаю.

1 Ответ

0 голосов
/ 01 апреля 2020

В вашем коде у вас есть:

.post('../procesarProductos/2/' + JSON.stringify({...})

Не объединять данные в URL. Вы используете POST, поэтому вместо этого вы должны публиковать тело запроса.

Я не использую Ax ios, поэтому не могу сказать вам, как его использовать, но с большинством подобных утилит, это что-то вроде:

.post('../procesarProductos/2', {
  body: JSON.stringify({...}),
  headers: {
    'Content-Type': 'application/json'
  }
)

На конце PHP вы можете получить его, проанализировав результат. file_get_contents('php://input') (См. Также: { ссылка })

Используя тело запроса, вам не нужно беспокоиться ни об ограничениях длины, ни о кодировке URI.

Также, пожалуйста, для будущих вопросов о переполнении стека, публикуйте свой реальный код, а не скриншоты.

...